|
|
| (2 intermediate revisions by the same user not shown) |
| Line 2: |
Line 2: |
| | VOFM, VOFN, VC/2 | | VOFM, VOFN, VC/2 |
| | | | |
| − | Documentación VOFM (http://saptechsolutions.com/pdf/InsideVOFM.pdf) | + | ==Documentación VOFM (http://saptechsolutions.com/pdf/InsideVOFM.pdf)== |
| | | | |
| | ==Ejemplo Elemento en Sapscript== | | ==Ejemplo Elemento en Sapscript== |
| Line 25: |
Line 25: |
| | H2 Venta últimos 12 meses,,,,: &v77komlst1-telement1(F*10R)&.-</nowiki> | | H2 Venta últimos 12 meses,,,,: &v77komlst1-telement1(F*10R)&.-</nowiki> |
| | | | |
| − | en RV77U903
| + | ==[[SAP_SOPORTE_VENTAS_RV77U903|En RV77U903]]== |
| − | ...
| + | ==[[SAP_SOPORTE_VENTAS_T182A|Programa para actualizar tabla T182A]]== |
| − | ...
| |
| − | ...
| |
| − | <nowiki>MOVE knvv-spart TO ls_rvkusta1_pay_del_terms-spart.
| |
| − | APPEND ls_rvkusta1_pay_del_terms TO
| |
| − | wa_rvkusta1_cust-pay_del_terms.
| |
| − | ENDIF.
| |
| − | ELSE.
| |
| − | DATA ls_tvzbt TYPE tvzbt.
| |
| − | SELECT SINGLE * FROM tvzbt INTO ls_tvzbt
| |
| − | WHERE spras = sy-langu
| |
| − | AND zterm = knvv-zterm.
| |
| − | info_prtlines_lst1_init.
| |
| − | WRITE: 'Condiciones de entrega y pago' TO v77komlst1-tline1,
| |
| − | * 1. line
| |
| − | 'Incoterms' TO v77komlst1-telement1(19),
| |
| − | * 2. line
| |
| − | 'Condición de pago' TO v77komlst1-telement2(19).
| |
| − | WRITE ls_tvzbt-vtext TO v77komlst1-telement10.
| |
| − | DATA lt_lineitems TYPE TABLE OF bapi3007_2.
| |
| − | DATA ls_lineitems LIKE LINE OF lt_lineitems.
| |
| − | DATA ld_amount LIKE ls_lineitems-lc_amount.
| |
| − | DATA ld_tlfns TYPE knb1-tlfns.
| |
| − | DATA ld_kraus TYPE knkk-kraus.
| |
| − | DATA ld_ctlpc TYPE knkk-ctlpc.
| |
| − | DATA ld_rtext TYPE t691t-rtext.
| |
| − | DATA ld_date TYPE d.
| |
| − | DATA ld_date_1 TYPE d.
| |
| − | DATA ls_s520 TYPE s520.
| |
| − | *Atraso promedio (días):
| |
| − | SELECT SINGLE tlfns INTO ld_tlfns FROM knb1
| |
| − | WHERE kunnr = knvv-kunnr
| |
| − | AND bukrs = tvko-bukrs.
| |
| − | WRITE ld_tlfns TO v77komlst1-telement9.
| |
| − | | |
| − | * Seguro (sí/no)
| |
| − | SELECT SINGLE kraus ctlpc INTO (ld_kraus,ld_ctlpc) FROM knkk
| |
| − | WHERE kunnr = knkk-kunnr
| |
| − | AND kkber = knkk-kkber.
| |
| − | CASE ld_kraus.
| |
| − | WHEN 'SPACE'.
| |
| − | v77komlst1-telement8 = 'NO'.
| |
| − | WHEN OTHERS.
| |
| − | v77komlst1-telement8 = 'SI'.
| |
| − | ENDCASE.
| |
| − | * Categoría de Riesgo
| |
| − | SELECT SINGLE rtext INTO ld_rtext FROM t691t
| |
| − | WHERE spras = sy-langu
| |
| − | AND ctlpc = ld_ctlpc
| |
| − | AND kkber = knkk-kkber
| |
| − | .
| |
| − | IF sy-subrc = 0.
| |
| − | WRITE ld_rtext TO v77komlst1-telement7.
| |
| − | ENDIF.
| |
| − | * Atraso en pago
| |
| − | CALL FUNCTION 'BAPI_AR_ACC_GETOPENITEMS'
| |
| − | EXPORTING
| |
| − | companycode = tvko-bukrs
| |
| − | customer = knvv-kunnr
| |
| − | keydate = sy-datum
| |
| − | TABLES
| |
| − | lineitems = lt_lineitems.
| |
| − | LOOP AT lt_lineitems INTO ls_lineitems.
| |
| − | ld_date = ls_lineitems-bline_date + ls_lineitems-dsct_days1.
| |
| − | CHECK ld_date < sy-datum.
| |
| − | IF ls_lineitems-db_cr_ind = 'H'.
| |
| − | ls_lineitems-lc_amount = ls_lineitems-lc_amount * -1.
| |
| − | ENDIF.
| |
| − | ADD ls_lineitems-lc_amount TO ld_amount.
| |
| − | ENDLOOP.
| |
| − | IF ld_amount <> 0.
| |
| − | ld_amount = ld_amount / 1000.
| |
| − | WRITE ld_amount TO v77komlst1-telement6 DECIMALS 0.
| |
| − | ELSE.
| |
| − | WRITE ld_amount TO v77komlst1-telement6 DECIMALS 0.
| |
| − | ENDIF.
| |
| − | CONDENSE v77komlst1-telement6 NO-GAPS.
| |
| − | * WRITE v77komlst1-tline3 TO v77komlst1-tline3(14) RIGHT-JUSTIFIED.
| |
| − | * bloqueo (si/no)
| |
| − | IF knkk-crblb <> space.
| |
| − | v77komlst1-telement5 = 'SI'.
| |
| − | ELSE.
| |
| − | v77komlst1-telement5 = 'NO'.
| |
| − | ENDIF.
| |
| − | info_sap_script_write.
| |
| − | * historial de ventas
| |
| − | DATA ld_m(7) TYPE c.
| |
| − | DATA ld_count TYPE c.
| |
| − | info_prtlines_lst1_init.
| |
| − | element = 'LST1_903_003'.
| |
| − | ld_count = '1'.
| |
| − | DO 4 TIMES.
| |
| − | * MES - 1
| |
| − | CALL FUNCTION 'HR_BR_ADD_MONTH_TO_DATE'
| |
| − | EXPORTING
| |
| − | dmm_datin = sy-datum
| |
| − | dmm_count = ld_count
| |
| − | dmm_oper = '-'
| |
| − | dmm_pos = space
| |
| − | IMPORTING
| |
| − | dmm_daout = ld_date.
| |
| − | IF ld_count = '1'.
| |
| − | ld_date_1 = ld_date .
| |
| − | ENDIF.
| |
| − | CONCATENATE ld_date+4(2) '.' ld_date(4) INTO ld_m.
| |
| − | CLEAR ls_s520.
| |
| − | SELECT SINGLE * INTO ls_s520 FROM s520
| |
| − | WHERE spmon = ld_date(6)
| |
| − | AND pkunag = knvv-kunnr
| |
| − | AND vkorg = knvv-vkorg
| |
| − | AND vtweg = knvv-vtweg
| |
| − | AND spart = knvv-spart.
| |
| − | IF sy-subrc = 0.
| |
| − | ls_s520-netwr = ls_s520-netwr / 1000. "Miles de $
| |
| − | WRITE ls_s520-netwr TO v77komlst1-telement1 CURRENCY ls_s520-stwae.
| |
| − | ELSE.
| |
| − | v77komlst1-telement1 = 0.
| |
| − | ENDIF.
| |
| − | CONDENSE v77komlst1-telement1 NO-GAPS.
| |
| − | * WRITE v77komlst1-telement6 TO v77komlst1-telement6(8) RIGHT-JUSTIFIED.
| |
| − | * v77komlst1-telement6+20 = ld_m.
| |
| − | v77komlst1-telement2 = ld_m.
| |
| − | v77komlst1-telement4 = ld_count.
| |
| − | info_sap_script_write.
| |
| − | ADD 1 TO ld_count.
| |
| − | ENDDO.
| |
| − | *Venta último año (M$):
| |
| − | info_prtlines_lst1_init.
| |
| − | element = 'LST1_903_004'.
| |
| − | CALL FUNCTION 'HR_BR_ADD_MONTH_TO_DATE'
| |
| − | EXPORTING
| |
| − | dmm_datin = ld_date_1
| |
| − | dmm_count = '12'
| |
| − | dmm_oper = '-'
| |
| − | dmm_pos = space
| |
| − | IMPORTING
| |
| − | dmm_daout = ld_date.
| |
| − | CLEAR ls_s520-netwr.
| |
| − | SELECT SUM( netwr ) INTO ls_s520-netwr FROM s520
| |
| − | WHERE spmon BETWEEN ld_date(6) AND ld_date_1(6)
| |
| − | AND pkunag = knvv-kunnr
| |
| − | AND vkorg = knvv-vkorg
| |
| − | AND vtweg = knvv-vtweg
| |
| − | AND spart = knvv-spart.
| |
| − | IF sy-subrc = 0.
| |
| − | ls_s520-netwr = ls_s520-netwr / 1000. "Miles de $
| |
| − | WRITE ls_s520-netwr TO v77komlst1-telement1 CURRENCY knvv-waers.
| |
| − | CONDENSE v77komlst1-telement1 NO-GAPS.
| |
| − | ELSE.
| |
| − | v77komlst1-telement1 = '0'.
| |
| − | ENDIF.
| |
| − | CONDENSE v77komlst1-telement1 NO-GAPS.
| |
| − | * WRITE v77komlst1-telement1 TO v77komlst1-telement1(14) RIGHT-JUSTIFIED.
| |
| − | * v77komlst1-telement1+20 = 'Año'.
| |
| − | * v77komlst1-telement1+24 = ld_date(4).
| |
| − | info_sap_script_write. "???
| |
| − | ENDIF.
| |
| − | ELSE. "XML-OUTPUT
| |
| − | ...
| |
| − | ...
| |
| − | ...</nowiki>
| |
Transacciones
VOFM, VOFN, VC/2
Ejemplo Elemento en Sapscript
copiar sapscript SD-SALES-SUMMARY, ventana MAIN copiar rutina form 011 a 903 en vofn, categoria LST1
/E LST1_903
/* 011 sustituida por 903 en todas partes
H2 Atraso en Pago,,,,: &v77komlst1-telement6(F*10R)&.-
H2 Bloqueo (sí/no),,,,: &v77komlst1-telement5&
L
H <B>Condiciones</>
H Condición de Pago:,,&v77komlst1-telement10&
H Atraso promedio (días):,,&v77komlst1-telement9&
H Seguro (sí/no):,,&v77komlst1-telement8&
H Categoría de Riesgo:,,&v77komlst1-telement7&
H
H <B>Historial de ventas (M$)</>
/E LST1_903_003
H2 Mes (-&v77komlst1-telement4&),,,,: &v77komlst1-telement1(F*10R)&.-
/E LST1_903_004
H
H2 Venta últimos 12 meses,,,,: &v77komlst1-telement1(F*10R)&.-