Olá Pessoal, Como eu faria para encher um combo box com dados oriundos de uma tabela no progress usando webspeed? Utilizei um exemplo no forum e não funcionou...
Uma vez eu fiz algo assim: /* prepara informacoes para motivo, esse aqui é para a primeira opcao ser branco */ ASSIGN v-motivos-aprova = "'" + " " + "'". v-motivos-reprova = "'" + " " + "'". /* aprovacao */ FOR EACH es-motivo-sd WHERE es-motivo-sd.tipo = 1 : ASSIGN v-motivos-aprova = v-motivos-aprova + "," + "'" + es-motivo-sd.cod-motivo + "'". END. /* reprovacao */ FOR EACH es-motivo-sd WHERE es-motivo-sd.tipo = 2 : ASSIGN v-motivos-reprova = v-motivos-reprova + "," + "'" + es-motivo-sd.cod-motivo + "'". END. Dai o combo era preenchido dinamicamente, de acordo com o tipo de motivo que o usuario escolhesse na tela, aprovacao ou reprovacao, entao eu chamava um java script com a opcao que o usuario escolheu e a referencia do combo na tela, para preencher os motivos: ' function criaSelectMotivo( opcao, campoSelect ) ' SKIP ' ~{ ' SKIP ' var aprovacao = new Array(' v-motivos-aprova ');' SKIP ' var reprovacao = new Array(' v-motivos-reprova ');' SKIP ' if ( opcao == 1 ) ' SKIP ' ~{ ' SKIP ' campoSelect.length = aprovacao.length; ' SKIP ' for ( i=0; i < aprovacao.length; i ++ ) ' SKIP ' ~{ ' SKIP ' if ( aprovacao == " " ) ' SKIP ' ~{ ' SKIP ' campoSelect.options.value = "branco"; ' SKIP ' campoSelect.options.text = aprovacao; ' SKIP ' ~} ' SKIP ' else ' SKIP ' ~{ ' SKIP ' campoSelect.options.value = aprovacao; ' SKIP ' campoSelect.options.text = aprovacao; ' SKIP ' ~} ' SKIP ' ~} ' SKIP ' campoSelect.options[0].selected = true; ' SKIP ' ~} ' SKIP ' if ( opcao == 2 ) ' SKIP ' ~{ ' SKIP ' campoSelect.length = reprovacao.length; ' SKIP ' for ( i=0; i < reprovacao.length; i ++ ) ' SKIP ' ~{ ' SKIP ' if ( reprovacao == " " ) ' SKIP ' ~{ ' SKIP ' campoSelect.options.value = "branco"; ' SKIP ' campoSelect.options.text = reprovacao; ' SKIP ' ~} ' SKIP ' else ' SKIP ' ~{ ' SKIP ' campoSelect.options.value = reprovacao; ' SKIP ' campoSelect.options.text = reprovacao; ' SKIP ' ~} ' SKIP ' ~} ' SKIP ' campoSelect.options[0].selected = true; ' SKIP ' ~} ' SKIP ' ~} ' SKIP. Talvez isso possa ajudar.
Nossa, fiquei ainda mais confuso...ehahuhuea Na verdade, usei um programa aqui como exemplo, porém não funcionou, é como se o for each não estivesse pegando nada...: Código: &ANALYZE-SUSPEND _VERSION-NUMBER WDT_v2r1 Web-Object /* Maps: repres/wsco059rp.htm */ &ANALYZE-RESUME &ANALYZE-SUSPEND _CODE-BLOCK _CUSTOM Definitions /*------------------------------------------------------------------------ File: Description: Input Parameters: <none> Output Parameters: <none> Author: Created: ------------------------------------------------------------------------*/ /* This .W file was created with WebSpeed Workshop. */ /*----------------------------------------------------------------------*/ /* *************************** Definitions ************************** */ /* Preprocessor Definitions --- */ /* Parameters Definitions --- */ /* Local Variable Definitions --- */ DEFINE VARIABLE ProgramaEmUso AS CHARACTER INITIAL ["wsco059"]. DEFINE VARIABLE NmeDoPrograma AS CHARACTER INITIAL ["wsco059.w"]. DEFINE VARIABLE opcao AS CHARACTER. DEFINE VARIABLE msg-erro AS CHARACTER. DEFINE VARIABLE msg-erro-aux AS INTEGER. DEFINE VARIABLE ponteiro-auxiliar AS CHARACTER. DEFINE VARIABLE pesquisa AS CHARACTER. DEFINE VARIABLE FlagPermissoes AS CHARACTER. DEFINE VARIABLE IdentificacaoDaSessao AS CHARACTER FORMAT "x(47)". DEFINE VARIABLE vauxsenha AS CHARACTER FORMAT "X(16)". &ANALYZE-RESUME &ANALYZE-SUSPEND _PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE Web-Object &Scoped-define WEB-FILE SUPER/wsco059.htm /* Default preprocessor names. */ &Scoped-define FRAME-NAME Web-Frame /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS cabecalho regiao-ini regiao-fim mrfim mrini ~ estado cidade codrepini codrepfim ~ op opretornomsg permi pesq ~ ponteiro statuspos &Scoped-Define DISPLAYED-OBJECTS cabecalho regiao-ini regiao-fim mrfim mrini ~ estado cidade codrepini codrepfim ~ op opretornomsg permi pesq ~ ponteiro statuspos /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &ANALYZE-RESUME &ANALYZE-SUSPEND _FORM-BUFFER /* Definitions of the field level widgets */ DEFINE VARIABLE cabecalho AS CHARACTER FORMAT "x(256)":U VIEW-AS FILL-IN SIZE 20 BY 1 NO-UNDO. DEFINE VARIABLE regiao-ini AS CHARACTER FORMAT "x(256)":U VIEW-AS SELECTION-LIST SINGLE LIST-ITEM-PAIRS "Seleciona a Regiao inicial","none" SIZE 30 BY 4. DEFINE VARIABLE regiao-fim AS CHARACTER FORMAT "x(256)":U VIEW-AS SELECTION-LIST SINGLE LIST-ITEM-PAIRS "Seleciona a Regiao final","none" SIZE 20 BY 4. DEFINE VARIABLE mrfim AS CHARACTER FORMAT "x(256)":U VIEW-AS FILL-IN SIZE 20 BY 1 NO-UNDO. DEFINE VARIABLE mrini AS CHARACTER FORMAT "x(256)":U VIEW-AS FILL-IN SIZE 20 BY 1 NO-UNDO. DEFINE VARIABLE codrepfim AS CHARACTER FORMAT "x(256)":U VIEW-AS FILL-IN SIZE 20 BY 1 NO-UNDO. DEFINE VARIABLE codrepini AS CHARACTER FORMAT "x(256)":U VIEW-AS FILL-IN SIZE 20 BY 1 NO-UNDO. DEFINE VARIABLE op AS CHARACTER FORMAT "x(256)":U VIEW-AS FILL-IN SIZE 20 BY 1 NO-UNDO. DEFINE VARIABLE opretornomsg AS CHARACTER FORMAT "x(256)":U VIEW-AS FILL-IN SIZE 20 BY 1 NO-UNDO. DEFINE VARIABLE permi AS CHARACTER FORMAT "x(256)":U VIEW-AS FILL-IN SIZE 20 BY 1 NO-UNDO. DEFINE VARIABLE pesq AS CHARACTER FORMAT "x(256)":U VIEW-AS FILL-IN SIZE 20 BY 1 NO-UNDO. DEFINE VARIABLE ponteiro AS CHARACTER FORMAT "x(256)":U VIEW-AS FILL-IN SIZE 20 BY 1 NO-UNDO. DEFINE VARIABLE statuspos AS CHARACTER FORMAT "x(256)":U VIEW-AS FILL-IN SIZE 20 BY 1 NO-UNDO. DEFINE VARIABLE estado AS CHARACTER INITIAL "Todos" VIEW-AS SELECTION-LIST SINGLE LIST-ITEMS "Todos", "Acre", "Alagoas", "Amapá", "Amazonas", "Bahia", "Ceará", "Distrito Federal", "Goiás", "Espirito Santo", "Maranhão", "Mato Grosso", "Mato Grosso do Sul", "Minas Gerais", "Pará", "Paraiba", "Paraná", "Pernambuco", "Piauí", "Rio de Janeiro", "Rio Grande do Norte", "Rio Grande do Sul", "Rondônia", "Rorâima", "São Paulo", "Santa Catarina", "Sergipe", "Tocantins" SIZE 20 BY 4 NO-UNDO. DEFINE VARIABLE cidade AS CHARACTER INITIAL "Todos" VIEW-AS SELECTION-LIST SINGLE LIST-ITEMS "Seleciona a Cidade","none" SIZE 20 BY 4 NO-UNDO. /* ************************ Frame Definitions *********************** */ DEFINE FRAME Web-Frame cabecalho no-label SKIP regiao-ini skip regiao-fim skip mrfim no-label SKIP mrini no-label SKIP estado no-label SKIP cidade no-label skip codrepfim no-label SKIP codrepini no-label SKIP op no-label SKIP opretornomsg no-label SKIP permi no-label SKIP pesq no-label SKIP ponteiro no-label SKIP statuspos no-label SKIP. &ANALYZE-RESUME /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Other Settings: COMPILE */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS &ANALYZE-SUSPEND _INCLUDED-LIBRARIES /* Included Libraries --- */ {src/web/method/html-map.i} &ANALYZE-RESUME _END-INCLUDED-LIBRARIES /* *************************** Functions **************************** */ &ANALYZE-SUSPEND _CODE-BLOCK _FUNCTION ValidaDados FUNCTION ValidaDados RETURNS CHARACTER (INPUT tipo-validacao AS CHARACTER) : END FUNCTION. &ANALYZE-RESUME &ANALYZE-SUSPEND _CODE-BLOCK _CUSTOM "Main Code Block" /* ************************ Main Code Block ************************* */ /* * Standard Main Code Block. This dispatches two events: * 'initialize' * 'process-web-request' * The bulk of the web processing is in the procedure 'process-web-request' * elsewhere in this Web object. */ {src/web/template/hmapmain.i} &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _CODE-BLOCK _PROCEDURE htm-offsets _WEB-HTM-OFFSETS PROCEDURE htm-offsets : /*------------------------------------------------------------------------------ Purpose: Runs procedure to associate each HTML field with its corresponding widget name and handle. Parameters: Notes: ------------------------------------------------------------------------------*/ RUN web/support/rdoffr.p ("{&WEB-FILE}":U). RUN htm-associate IN THIS-PROCEDURE ("cabecalho":U,"cabecalho":U,cabecalho:HANDLE IN FRAME {&FRAME-NAME}). RUN htm-associate IN THIS-PROCEDURE ("regiao-ini":U,"regiao-ini":U,regiao-ini:HANDLE IN FRAME {&FRAME-NAME}). RUN htm-associate IN THIS-PROCEDURE ("regiao-fim":U,"regiao-fim":U,regiao-fim:HANDLE IN FRAME {&FRAME-NAME}). RUN htm-associate IN THIS-PROCEDURE ("mrfim":U,"mrfim":U,mrfim:HANDLE IN FRAME {&FRAME-NAME}). RUN htm-associate IN THIS-PROCEDURE ("mrini":U,"mrini":U,mrini:HANDLE IN FRAME {&FRAME-NAME}). RUN htm-associate IN THIS-PROCEDURE ("estado":U,"estado":U,estado:HANDLE IN FRAME {&FRAME-NAME}). RUN htm-associate IN THIS-PROCEDURE ("cidade":U,"cidade":U,cidade:HANDLE IN FRAME {&FRAME-NAME}). RUN htm-associate IN THIS-PROCEDURE ("codrepfim":U,"codrepfim":U,codrepfim:HANDLE IN FRAME {&FRAME-NAME}). RUN htm-associate IN THIS-PROCEDURE ("codrepini":U,"codrepini":U,codrepini:HANDLE IN FRAME {&FRAME-NAME}). RUN htm-associate IN THIS-PROCEDURE ("op":U,"op":U,op:HANDLE IN FRAME {&FRAME-NAME}). RUN htm-associate IN THIS-PROCEDURE ("opretornomsg":U,"opretornomsg":U,opretornomsg:HANDLE IN FRAME {&FRAME-NAME}). RUN htm-associate IN THIS-PROCEDURE ("permi":U,"permi":U,permi:HANDLE IN FRAME {&FRAME-NAME}). RUN htm-associate IN THIS-PROCEDURE ("pesq":U,"pesq":U,pesq:HANDLE IN FRAME {&FRAME-NAME}). RUN htm-associate IN THIS-PROCEDURE ("ponteiro":U,"ponteiro":U,ponteiro:HANDLE IN FRAME {&FRAME-NAME}). RUN htm-associate IN THIS-PROCEDURE ("statuspos":U,"statuspos":U,statuspos:HANDLE IN FRAME {&FRAME-NAME}). END PROCEDURE. &ANALYZE-RESUME &ANALYZE-SUSPEND _CODE-BLOCK _PROCEDURE local-assign-record &ANALYZE-RESUME &ANALYZE-SUSPEND _CODE-BLOCK _PROCEDURE local-display-fields PROCEDURE local-display-fields : RUN dispatch IN THIS-PROCEDURE ( INPUT 'display-fields':U ). END PROCEDURE. &ANALYZE-RESUME &ANALYZE-SUSPEND _CODE-BLOCK _PROCEDURE output-header PROCEDURE output-header : /*------------------------------------------------------------------------ Purpose: Output the MIME header, and any "cookie" information needed by this procedure. Parameters: <none> Notes: In the event that this Web object is State-Aware, this is also a good place to set the "Web-State" and "Web-Timeout" attributes. ------------------------------------------------------------------------*/ output-content-type ("text/html":U). END PROCEDURE. &ANALYZE-RESUME &ANALYZE-SUSPEND _CODE-BLOCK _PROCEDURE PermissaoDeAcesso PROCEDURE PermissaoDeAcesso : {includes/permaces.i} END PROCEDURE. &ANALYZE-RESUME &ANALYZE-SUSPEND _CODE-BLOCK _PROCEDURE process-web-request PROCEDURE process-web-request : /*------------------------------------------------------------------------ ------------------------------------------------------------------------*/ def var remitente as rowid no-undo. def var rrepres as rowid no-undo. def var v-identificacao as char no-undo. v-identificacao = get-cookie("cookie-usuario-em-uso"). find Ws-sessao no-lock where Ws-sessao.identificacao = v-identificacao no-error. assign remitente = TO-ROWID(GET-VALUE("remitente")) rrepres = TO-ROWID(GET-VALUE("rrepres")). if remitente <> ? then do: find first emitente where rowid(emitente) = remitente no-lock no-error. if avail emitente then do: assign mrini = emitente.cgc mrfim = emitente.cgc. end. end. /*rowid <> ?*/ else if rrepres <> ? then do: find first repres where rowid(repres) = rrepres no-lock no-error. if avail repres then do: assign codrepini = "00000" codrepfim = "99999" mrini = "" mrfim = "ZZZZZZZZZZZZZZZZZZZ". end. end. else if ws-sessao.tipo = "REP" then do: assign codrepini = "00000" codrepfim = "99999" mrini = "" mrfim = "ZZZZZZZZZZZZZZZZZZZ". end. else if ws-sessao.tipo = "EMI" then do: find first emitente where emitente.cod-emitente = ws-sessao.codigo no-lock no-error. assign codrepini = "00000" codrepfim = "99999" mrini = if avail emitente then emitente.cgc else "" mrfim = if avail emitente then emitente.cgc else "ZZZZZZZZZZZZZZZZZZZZ". end. else do: assign codrepini = "00000" codrepfim = "99999" mrini = "" mrfim = "ZZZZZZZZZZZZZZZZZZZ". end. /*rowid = ?*/ /*Problema aqui, for each parece que nao pega nada*/ DEFINE VARIABLE pc-regiao-ini AS CHARACTER no-undo initial "". FOR EACH regiao no-lock: pc-regiao-ini = IF pc-regiao-ini = "" THEN regiao.nome-reg ELSE string(pc-regiao-ini + "," + regiao.nome-reg). END. regiao-ini:LIST-ITEM-PAIRS IN FRAME {&FRAME-NAME} = pc-regiao-ini. DEFINE VARIABLE pc-regiao-fim AS CHARACTER NO-UNDO. FOR EACH regiao: pc-regiao-fim = IF pc-regiao-fim = "" THEN regiao.nome-reg ELSE string(pc-regiao-fim + "," + regiao.nome-reg). END. regiao-fim:LIST-ITEM-PAIRS IN FRAME {&FRAME-NAME} = pc-regiao-fim. {includes/webconsu.i} END PROCEDURE. &ANALYZE-RESUME &ANALYZE-SUSPEND _CODE-BLOCK _PROCEDURE RodaJavaScript PROCEDURE RodaJavaScript : {includes/rodajava.i} END PROCEDURE. &ANALYZE-RESUME E eis o html: Código: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> <html> <head> <meta name="AUTHOR" content="Solusoft/Bt - wsco02"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="wsoptions" content="no-output"> <meta name="GENERATOR" content=""> <meta http-equiv="Cache-Control" content="No-Cache"> <meta http-equiv="Pragma" content="No-Cache"> <meta http-equiv="Expires" content="0"> <title>Consulta Cliente</title> <base target="frame_de_corpo"> <link rel="stylesheet" href="/webems24/estilos/corpo.css" type="text/css"> </head> <script LANGUAGE="JavaScript"> NomeDoProgramaPrincipal = '/super/wsco059.w'; NomeDoProgramaDeListagem = ''; NomeDoProgramaDeAjuda = '/tortuga/wsco02aj.w'; ProgramaDeRelatorio = '/tortuga/wsco02re.w'; NomeDoProgramaDeZoom = ''; </script> <script LANGUAGE="JavaScript"> function RetornoDaPesquisa(campo,valor,valor2,valor3) { } function RetornoDoZoom(campo,valor,valor2,valor3) { if (campo == 'mrini') { parent.frame_de_corpo.document.form.mrini.value = valor2; parent.frame_de_corpo.document.form.mrfim.value = valor2; } if (campo == 'codrepini') { parent.frame_de_corpo.document.form.codrepini.value = valor; parent.frame_de_corpo.document.form.codrepfim.value = valor; } } function ValidaDados(form) { var msg=""; msg = msg + top.frames[0].VE("in",form.mrini,"O c¢digo da Microregião","sim","0","999999999"); msg = msg + top.frames[0].VE("in",form.mrfim,"O c¢digo da Microregião","sim","0","999999999"); msg = msg + top.frames[0].VE("ca",form.cgcini,"O CNPJ do cliente","sim"); msg = msg + top.frames[0].VE("ca",form.cgcfim,"O CNPJ do cliente","sim"); msg = msg + top.frames[0].VE("in",form.codrepini,"O c¢digo representante","sim","0","99999"); msg = msg + top.frames[0].VE("in",form.codrepfim,"O c¢digo representante","sim","0","99999"); if (msg == "") return true else { top.frames[0].MostraResultado('1',msg); return false } } function CarregaPrincipal() { jan1 = open('/webems24/htm/wsco02ca.htm','frcabec'); jan2 = open('/webems24/htm/frbotao2.htm','frpanel'); jan3 = open('fraux.w','fraux'); parent.frame_de_corpo.document.form.codemitenteini.focus(); parent.frame_de_corpo.document.form.codemitenteini.select(); } function Executar() { if (ValidaDados(parent.frame_de_corpo.document.forms[0])) { parent.frame_de_corpo.status = 'Processando relat¢rio. Por favor, aguarde ...'; varurl = parent.frame_de_corpo.document.form.cabecalho.value + ProgramaDeRelatorio + '?codemitenteini=' + parent.frame_de_corpo.document.form.codemitenteini.value + '&codemitentefim=' + parent.frame_de_corpo.document.form.codemitentefim.value + '&canalvendaini=' + '000' + '&canalvendafim=' + '999' + '&nomeabrevini=' + ' ' + '&nomeabrevfim=' + 'ZZZZZZZZZZZZ' + '&matrizini=' + '' + '&matrizfim=' + 'ZZZZZZZZZZZZ' + '&cgcini=' + parent.frame_de_corpo.document.form.cgcini.value + '&cgcfim=' + parent.frame_de_corpo.document.form.cgcfim.value + '&codgrcliini=' + '00' + '&codgrclifim=' + '99' + '&codrepini=' + parent.frame_de_corpo.document.form.codrepini.value + '&codrepfim=' + parent.frame_de_corpo.document.form.codrepfim.value + '&cepini=' + '00000000' + '&cepfim=' + '99999999' + '&suspenso=' + 'true' + '&estado=' + parent.frame_de_corpo.document.form.estado.selectedIndex + '®iao-ini=' + parent.frame_de_corpo.document.form.regiao-ini[parent.frame_de_corpo.document.form.regiao-ini.selectedIndex].value + '®iao-fim=' + parent.frame_de_corpo.document.form.regiao-fim[parent.frame_de_corpo.document.form.regiao-fim.selectedIndex].value; JanCo02 = window.open(varurl,'JanCo02','toolbar=yes,location=no,diretories=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,width=750,height=450,top=0,left=0,screenX=0,screenY=0'); JanCo02.document.writeln('<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">'); JanCo02.document.writeln('<html>'); JanCo02.document.writeln('<head>'); JanCo02.document.writeln('<meta http-equiv="Content-Type"'); JanCo02.document.writeln('content="text/html; charset=iso-8859-1">'); JanCo02.document.writeln('<title>Mensagem</title>'); JanCo02.document.writeln('</head>'); JanCo02.document.writeln('<body >'); JanCo02.document.writeln('<font face="fixedsys">Aguarde Processando...</font><br>'); JanCo02.document.writeln('</body>'); JanCo02.document.writeln('</html>'); JanCo02 = window.open(varurl,'JanCo02','toolbar=yes,location=no,diretories=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,width=750,height=450,top=0,left=0,screenX=0,screenY=0'); JanCo02.focus(); parent.frame_de_corpo.status = ''; return true } else return false } </script> <body> <form METHOD="POST" NAME="form"> <input type="hidden" name="op" value="0"><input type="hidden" name="permi" value="XXXXXX"><input type="hidden" name="pesq" value="0"><input type="hidden" name="ponteiro" value="0"><input type="hidden" name="opretornomsg" value="0"><input type="hidden" name="statuspos" value="0"><input type="hidden" name="cabecalho" value="0"><div align="center"><center> <table border="0" cellspacing="1"> <tr> <td><td align="left" colspan="3"><select name="regiao-ini" size=1> <option SELECTED VALUE="0">Seleciona a Regiao inicial </select> <td>ate</td> <td><td align="left" colspan="3"><select name="regiao-fim" size=1> <option SELECTED VALUE="0">Seleciona a Regiao final </select> </tr> <tr> <td align="right">Microregião:</td> <td> <input LANGUAGE="JavaScript" TYPE="text" ONFOCUS="window.status = 'Informe a microregião inicial.'" SIZE="5" NAME="mrini" maxlength="5"> </td> <td>ate </td> <td> <input language="JavaScript" type="text" onFocus="window.status = 'Informe a microregião final.'" size="5" name="mrfim" maxlength="5"> </td> </tr> <tr> <td align="right"><a href="javascript:top.frames[0].AbreZoom('/zoom/wszo06.w','codrepini','Z')">Representante:</a></td> <td> <input LANGUAGE="JavaScript" TYPE="text" ONFOCUS="window.status = 'Informe o c¢digo do representante.'" SIZE="5" NAME="codrepini" maxlength="5"> </td> <td>ate </td> <td> <input language="JavaScript" type="text" onFocus="window.status = 'Informe o c¢digo do representante.'" size="5" name="codrepfim" maxlength="5"> </td> </tr> <tr> <td align="right">Estado:</td> <td colspan="3"> <select name="estado" size="1" ONFOCUS="window.status = 'Selecione um Estado.'"> <option value="todos">Todos</option> <option selected value="AC">"Acre"</option> <option selected value="AL">"Alagoas"</option> <option selected value="AP">"Amapß"</option> <option selected value="AM">"Amazonas"</option> <option selected value="BA">"Bahia"</option> <option selected value="CE">"Cearß"</option> <option selected value="DF">"Distrito Federal"</option> <option selected value="GO">"Goißs"</option> <option selected value="ES">"Espirito Santo"</option> <option selected value="MA">"MaranhÒo"</option> <option selected value="MT">"Mato Grosso"</option> <option selected value="MS">"Mato Grosso do Sul"</option> <option selected value="MG">"Minas Gerais"</option> <option selected value="PA">"Parß"</option> <option selected value="PB">"Paraiba"</option> <option selected value="PR">"Paranß"</option> <option selected value="PE">"Pernambuco"</option> <option selected value="PI">"PiauÝ"</option> <option selected value="RJ">"Rio de Janeiro"</option> <option selected value="RN">"Rio Grande do Norte"</option> <option selected value="RS">"Rio Grande do Sul"</option> <option selected value="RO">"Rond¶nia"</option> <option selected value="RR">"RorÔima"</option> <option selected value="SP">"SÒo Paulo"</option> <option selected value="SC">"Santa Catarina"</option> <option selected value="SE">"Sergipe"</option> <option selected value="TO">"Tocantins"</option> </select> </td> </tr> <tr> <td align="right">Cidade:</td> <td colspan="3"><select name="cidade" size="1" ONFOCUS="window.status = 'Selecione um cidade.'"> <option value="TODOS">Todos</option> </select> </td> </tr> </table> </center></div> </form> </body> </html>
Resolvido pessoal... Era só mudar isso... Código: DEFINE VARIABLE regiao-ini AS CHARACTER FORMAT "x(256)":U VIEW-AS SELECTION-LIST SINGLE LIST-ITEMS "Seleciona a Regiao inicial" SIZE 30 BY 4. DEFINE VARIABLE regiao-fim AS CHARACTER FORMAT "x(256)":U VIEW-AS SELECTION-LIST SINGLE LIST-ITEM "Seleciona a Regiao final" SIZE 20 BY 4. E isso... Código: FOR EACH es-usuario-ger no-lock WHERE es-usuario-ger.cod_usuario = "ess55813" BY es-usuario-ger.nome-ab-reg: IF cList EQ ? THEN ASSIGN cList = es-usuario-ger.nome-ab-reg. ELSE ASSIGN cList = cList + "," + es-usuario-ger.nome-ab-reg. END. assign regiao-ini:LIST-ITEMS IN FRAME {&FRAME-NAME} = cList regiao-fim:LIST-ITEMS IN FRAME {&FRAME-NAME} = clist. IF cList <> ? THEN DO: FIND FIRST es-usuario-ger NO-LOCK WHERE es-usuario-ger.cod_usuario = "ess55813" NO-ERROR. ASSIGN regiao-ini:SCREEN-VALUE IN FRAME {&FRAME-NAME} = es-usuario-ger.nome-ab-reg. FIND LAST es-usuario-ger NO-LOCK WHERE es-usuario-ger.cod_usuario = "ess55813" NO-ERROR. ASSIGN regiao-fim:SCREEN-VALUE IN FRAME {&FRAME-NAME} = es-usuario-ger.nome-ab-reg. END. E me listaram todas as regiões!
Bom, cria um select name com os option value como num html, misturando o codigo progress, mais ou menos assim: '<select name=htm_cod_motivo">' SKIP. {&OUT} ' <option value=" " selected > </option>' SKIP. FOR EACH es-motivo NO-LOCK: {&OUT} ' <option value="' STRING(es-motivo.codigo,"X(3)") '">' STRING(es-motivo.descricao,"X(15)") '</option>' SKIP. END. {&OUT} '</select>' Nao sei se as aspas no codigo estao exatamente corretas, mas é por ai.
Bom, vendo melhor o seu código, eu nao utilizo esse esquema que voce esta utilizando para desenvolver, mas pode ser que o motivo para o estado funcionar e as regioes nao, é porque voce ta criando a lista de regios na web-request. Por curiosidade, tente fazer o foreach na secao de defitions para testar, se rolar, já explicou uma parte do problema, dai o lance é tentar descobrir se nesse esquema que voce ta fazendo, se dentro da process-web-request tem como montar o combo ali, caso mesmo no defitions nao funcione ai talvez seja algo na hora de atribuir o list-item-pairs.