Dynamic browse... ADD-LIKE-COLUMN of a decimal variable...

Posted by OctavioOlguin on 22-Jan-2018 20:07

Greetings.

Starting to learn dynamic browse, I find myself not able to 

hBrowse:ADD-LIKE-COLUMN (decimal-tt-field).

Trying to show temp-table on browse, I can't add decimal field with compile error  5442 and 196..

What Am I missing?

TIA
Jorge

Posted by ManfredBerthold on 23-Jan-2018 08:31

Try:

hBrowse:ADD-LIKE-COLUMN ("ttCFDI33_Concepto.cdCantidad").

aso

All Replies

Posted by tpavlovic on 23-Jan-2018 00:49

What DATA-TYPE is 'decimal-tt-field'? Show us the code.

Posted by OctavioOlguin on 23-Jan-2018 08:15

DEFINE TEMP-TABLE ttcfdi33_comprobante NO-UNDO /* LIKE cfdi33_comprobante */
    FIELD xcPK                       AS CHARACTER FORMAT "x(32)" LABEL "PK" COLUMN-LABEL "llave!primaria"
    FIELD ccSerie                    AS CHARACTER LABEL "Serie" COLUMN-LABEL "ccSerie"
    FIELD ciFolio                    AS INTEGER   LABEL "Folio" COLUMN-LABEL "ciFolio"
    FIELD ctFecha                    AS CHARACTER LABEL "Fecha" COLUMN-LABEL "ctFecha"    // tiene elformato de char para ajustarlo  la especificaion del sat, por eso la c al principio del nombre del campo, pues es campo del Cfdi.
    FIELD xtFecha                    AS DATETIME  LABEL "Fecha " COLUMN-LABEL "Fecha"   // campo original de la fechahora del la creación del cfdi.
    FIELD ccCertificado              AS CHARACTER LABEL "Certificado" COLUMN-LABEL "ccCertificado"
    FIELD ccCondicionesDePago        AS CHARACTER LABEL "CondicionesDePago" COLUMN-LABEL "ccCondicionesDePago"
    FIELD ccConfirmacion             AS CHARACTER LABEL "Confirmacion" COLUMN-LABEL "ccConfirmacion"
    FIELD ccEmisorNombre             AS CHARACTER FORMAT "x(60)"
    FIELD ccEmisorRegimenFiscal      AS CHARACTER FORMAT "x(40)"
    FIELD ccEmisorRFC                AS CHARACTER FORMAT "x(13)"
    FIELD ccFormaPago                AS CHARACTER LABEL "FormaPago" COLUMN-LABEL "ccFormaPago"
    FIELD ccLugarExpedicion          AS CHARACTER LABEL "LugarExpedicion" COLUMN-LABEL "ccLugarExpedicion"
    FIELD ccMetodoPago               AS CHARACTER LABEL "MetodoPago" COLUMN-LABEL "ccMetodoPago"
    FIELD ccMoneda                   AS CHARACTER LABEL "ccMoneda" COLUMN-LABEL "ccMoneda"
    FIELD ccNoCertificado            AS CHARACTER LABEL "ccNoCertificado" COLUMN-LABEL "ccNoCertificado"
    FIELD ccReceptorNombre           AS CHARACTER FORMAT "x(60)"
    FIELD ccReceptorNumRegIdTrib     AS CHARACTER FORMAT "x(30)"
    FIELD ccReceptorResidenciaFiscal AS CHARACTER FORMAT "x(60)"
    FIELD ccReceptorRFC              AS CHARACTER FORMAT "x(13)"
    FIELD ccReceptorUsoCFDI          AS CHARACTER FORMAT "X99"          // G01, G03...
    FIELD ccSello                    AS CHARACTER LABEL "ccSello" COLUMN-LABEL "ccSello"
    FIELD ccTipoDeComprobante        AS CHARACTER LABEL "ccTipoDeComprobante" COLUMN-LABEL "ccTipoDeComprobante"
    FIELD ccVersion                  AS CHARACTER LABEL "ccVersion" COLUMN-LABEL "ccVersion"
    FIELD cdDescuento                AS DECIMAL   DECIMALS 6 LABEL "cdDescuento" COLUMN-LABEL "cdDescuento"
    FIELD cdSubTotal                 AS DECIMAL   DECIMALS 6 FORMAT "->>,>>9.999999" LABEL "cdSubTotal" COLUMN-LABEL "cdSubTotal"
    FIELD cdTipoCambio               AS DECIMAL   DECIMALS 6 FORMAT "->>,>>9.999999" LABEL "cdTipoCambio" COLUMN-LABEL "cdTipoCambio"
    FIELD cdTotal                    AS DECIMAL   DECIMALS 6 FORMAT "->>,>>9.999999" LABEL "cdTotal" COLUMN-LABEL "cdTotal"
    FIELD xcCadenaOriginal           AS CHARACTER FORMAT "X(20)" LABEL "Cadena Original" COLUMN-LABEL "Cadena!Original"
    FIELD xcNumCertificado           AS CHARACTER FORMAT "X(20)" LABEL "Certificado" COLUMN-LABEL "Certificado"
    FIELD xcSelloDigital             AS CHARACTER FORMAT "X(20)" LABEL "Sello Digital" COLUMN-LABEL "Sello!Digital"
    FIELD xcTimbreNumCertificado     AS CHARACTER FORMAT "x(30)" LABEL "No. Certificado SAT" COLUMN-LABEL "No. Certif!SAT"
    FIELD xcTimbreSeal               AS CHARACTER FORMAT "x(40)" LABEL "Sello Sat" COLUMN-LABEL "SAT!Seal"
    FIELD xcTimbreUUID               AS CHARACTER FORMAT "x(30)" LABEL "UUID" COLUMN-LABEL "UUID!Timbrado"
    FIELD xiAnoAprobacion            AS INTEGER   FORMAT ">>>9" LABEL "Año Aprobación" COLUMN-LABEL "Año!Aprobación"
    FIELD xiNumAprobacion            AS INTEGER   FORMAT ">>>>>>>9" LABEL "Num. Aprobación" COLUMN-LABEL "Num!Aprobación"
    FIELD xiSucursal                 AS INTEGER   FORMAT ">>>>9" LABEL "Sucursal" COLUMN-LABEL "Sucursal"
    FIELD xlCancelado                AS LOGICAL   FORMAT "si/no"
    FIELD xlEnviado                  AS LOGICAL   FORMAT "si/no" INITIAL TRUE LABEL "Enviado"
    FIELD xtEnvioFecha               AS DATETIME  FORMAT "99/99/9999 HH:MM:SS" INITIAL ?
    FIELD xtFechaCancelacion         AS DATE      LABEL "F: Cancelación" COLUMN-LABEL "Fecha!Cancelación"
    FIELD xtTimbreFecha              AS DATETIME  FORMAT "99/99/9999 HH:MM:SS" INITIAL ? LABEL "Fecha Timbrado" COLUMN-LABEL "Timbrado"
    FIELD xcValidaciones             AS CHARACTER
    FIELD xiCorteDeCaja              AS INTEGER
    FIELD ccTipoRelacion             AS CHARACTER FORMAT "99".

DEFINE TEMP-TABLE ttcfdi33_concepto NO-UNDO /* LIKE cfdi33_concepto */
    FIELD xcPK                   AS CHARACTER FORMAT "x(32)" LABEL "PK" COLUMN-LABEL "PK"
    FIELD xcFKcomprobante        AS CHARACTER FORMAT "x(32)" LABEL "FK>comprobante" COLUMN-LABEL "PK>!Comprobante"
    FIELD cdCantidad             AS DECIMAL   DECIMALS 6 LABEL "Cantidad" COLUMN-LABEL "Cantidad"
    FIELD ccUnidad               AS CHARACTER LABEL "Unidad" COLUMN-LABEL "Unidad"
    FIELD ccClaveUnidad          AS CHARACTER LABEL "ClaveUnidad" COLUMN-LABEL "ClaveUnidad"
    FIELD ccClaveProdServ        AS CHARACTER LABEL "ClaveProdServ" COLUMN-LABEL "ClaveProdServ"
    FIELD ccNoIdentificacion     AS CHARACTER LABEL "NoIdentificacion" COLUMN-LABEL "NoIdentificacion"
    FIELD ccDescripcion          AS CHARACTER LABEL "Descripcion" COLUMN-LABEL "Descripcion"
    FIELD cdValorUnitario        AS DECIMAL   DECIMALS 6 LABEL "ValorUnitario" COLUMN-LABEL "ValorUnitario"
    FIELD cdDescuento            AS DECIMAL   DECIMALS 6 LABEL "Descuento" COLUMN-LABEL "Descuento"
    FIELD cdImporte              AS DECIMAL   DECIMALS 6 LABEL "Importe" COLUMN-LABEL "Importe"

    FIELD xcImpto1Naturaleza     AS CHARACTER LABEL "R-retención | T-traslado | 0-no causa)"
    FIELD ccImpto1Impuesto       AS CHARACTER LABEL "Impuesto 1" COLUMN-LABEL "Impuesto 1" FORMAT "999"
    FIELD ccImpto1TipoFactor     AS CHARACTER FORMAT "x(6)" LABEL "TipoFactor 1" COLUMN-LABEL "'Tasa' o 'Cuota' 1 (0=no usa)"
    FIELD cdImpto1TasaOCuota     AS DECIMAL   DECIMALS 6 LABEL "Tasa o Cuota 1" COLUMN-LABEL "TasaOCuota 1"

    FIELD xcImpto2Naturaleza     AS CHARACTER LABEL "R-retención | T-traslado | 0-no causa)"
    FIELD ccImpto2Impuesto       AS CHARACTER LABEL "Impuesto 2" COLUMN-LABEL "Impuesto 2" FORMAT "999"
    FIELD ccImpto2TipoFactor     AS CHARACTER LABEL "TipoFactor 2" COLUMN-LABEL "'Tasa' o 'Cuota' 2 (0=no usa)" FORMAT "x(6)"
    FIELD cdImpto2TasaOCuota     AS DECIMAL   DECIMALS 6 LABEL "Tasa o Cuota 2" COLUMN-LABEL "TasaOCuota 2".
    
DEFINE VARIABLE cBaseQuery AS CHARACTER     NO-UNDO INITIAL "FOR EACH ttcfdi33_concepto".
DEFINE VARIABLE hBrowse    AS HANDLE        NO-UNDO.
DEFINE VARIABLE hQuery     AS HANDLE        NO-UNDO.
DEFINE VARIABLE hColumn    AS HANDLE        NO-UNDO.

DEFINE FRAME frame-n.

CREATE BROWSE hBrowse
        ASSIGN
        X = 17
        Y = 340
        WIDTH = 134
        DOWN = 14
        FRAME = FRAME frame-n:handle
        READ-ONLY  = YES
        SENSITIVE = TRUE
        ROW-MARKERS = TRUE
        SEPARATORS = TRUE
        FIT-LAST-COLUMN = TRUE
        FONT = 1
        TRIGGERS:
            ON DEFAULT-ACTION
                DO:
                    IF AVAILABLE(ttCFDI33_Concepto) THEN
                    DO:
                        /*ASSIGN
                            pSeleccion = ttFamiliaSCh.Familia.*/
                        //APPLY "GO":U TO FRAME {&FRAME-NAME}.
                    END.
                END.
        END TRIGGERS.


    CREATE QUERY hQuery.
    hQuery:SET-BUFFERS(BUFFER ttCFDI33_Concepto:handle).

    hQuery:QUERY-PREPARE(cBaseQuery).

    hQuery:QUERY-OPEN ().

    hBrowse:QUERY = hQuery.

    hBrowse:ADD-LIKE-COLUMN (ttCFDI33_Concepto.cdCantidad).
    hBrowse:ADD-LIKE-COLUMN (ttCFDI33_Concepto.ccClaveProdServ).
    hBrowse:ADD-LIKE-COLUMN (ttCFDI33_Concepto.ccDescripcion).
    hBrowse:ADD-LIKE-COLUMN (ttCFDI33_Concepto.ccClaveUnidad).
    hBrowse:ADD-LIKE-COLUMN (ttCFDI33_Concepto.ccClaveUnidad).
    hBrowse:ADD-LIKE-COLUMN (ttCFDI33_Concepto.cdValorUnitario).
    hBrowse:ADD-LIKE-COLUMN (ttCFDI33_Concepto.ccImpto1Impuesto).
    hBrowse:ADD-LIKE-COLUMN (ttCFDI33_Concepto.cdImpto1TasaOCuota).

Posted by James Palmer on 23-Jan-2018 08:26

What errors are you getting? I seem to remember you have to add the columns before attaching the query, but I could be wrong.

Posted by ManfredBerthold on 23-Jan-2018 08:31

Try:

hBrowse:ADD-LIKE-COLUMN ("ttCFDI33_Concepto.cdCantidad").

aso

Posted by Stefan Drissen on 23-Jan-2018 13:12

documentation.progress.com/.../index.html

You pass either the name of the field (character) or the handle of the field - you're passing the field value of your temp-table record.

Posted by OctavioOlguin on 23-Jan-2018 18:42

Thanks!!!

This thread is closed