Skip to Content
0
Former Member
Aug 22, 2006 at 03:14 PM

error while testing

69 Views

hi everybody,

plz help me to solve this problem

when i tried to test the following code i am getting error like

<b>'open_form missing and write_form invalid'</b>

i tried all the ways i know but not able to solve the problem.

*----


  • Tables (RFKORI00)

*----


TABLES: T049L, "Lockboxes at our House Banks

VBPA, "Sales Document: Partner

RFPOSXEXT, "## AUTOMATICALLY GENERATED. DO NOT CHANGE OR RE-USE ! ##

VBRP, "Billing Document: Item Data

TVAUT. "Sales Documents: Order Reasons: Texts

*----


  • TYPES

*----


TYPES: BEGIN OF TY_FINALTAB ,

KUNNR TYPE KNA1-KUNNR,

NAME1 TYPE KNA1-NAME1,

BLART TYPE BSID-BLART,

BELNR TYPE BSID-BELNR,

BLDAT TYPE BSID-BLDAT,

WRBTR TYPE BSID-WRBTR,

FAEDT TYPE RFPOSXEXT-FAEDT,

REBZG TYPE BSID-REBZG,

XBLNR TYPE BSID-XBLNR,

AUGRU TYPE TVAUT-AUGRU,

RSTGR TYPE BSID-RSTGR,

END OF TY_FINALTAB.

TYPES: BEGIN OF TY_BSID ,

BUKRS TYPE BSID-BUKRS,

KUNNR TYPE BSID-KUNNR,

BSCHL TYPE BSID-BSCHL,

UMSKZ TYPE BSID-UMSKZ,

BLART TYPE BSID-BLART,

BELNR TYPE BSID-BELNR,

BLDAT TYPE BSID-BLDAT,

REBZG TYPE BSID-REBZG,

XBLNR TYPE BSID-XBLNR,

RSTGR TYPE BSID-RSTGR,

SHKZG TYPE BSID-SHKZG,

WRBTR TYPE BSID-WRBTR,

END OF TY_BSID.

TYPES: BEGIN OF TY_TVAUT,

AUGRU TYPE TVAUT-AUGRU,

END OF TY_TVAUT.

*----


  • Internal Tables (RFKORI00)

*----


DATA: GT_FINALTAB TYPE TY_FINALTAB OCCURS 0.

DATA: GT_BSID TYPE TY_BSID OCCURS 0.

DATA: GT_TVAUT TYPE TY_TVAUT OCCURS 0.

DATA: BEGIN OF GT_NAME1 OCCURS 0,

NAME1 LIKE KNA1-NAME1,

KUNNR LIKE KNA1-KUNNR,

END OF GT_NAME1.

*----


  • Work Areas (RFKORI00)

*----


DATA: BEGIN OF WA_KNA1,

NAME1 LIKE KNA1-NAME1,

STRAS LIKE KNA1-STRAS,

ORT01 LIKE KNA1-ORT01,

PSTLZ LIKE KNA1-PSTLZ,

REGIO LIKE KNA1-REGIO,

LAND1 LIKE KNA1-LAND1,

END OF WA_KNA1.

DATA: BEGIN OF WA_BSEG1,

VBELN LIKE BSEG-VBELN,

KUNNR LIKE BSEG-KUNNR,

END OF WA_BSEG1.

DATA: BEGIN OF WA_BSID,

BUKRS TYPE BSID-BUKRS,

KUNNR TYPE BSID-KUNNR,

BSCHL TYPE BSID-BSCHL,

UMSKZ TYPE BSID-UMSKZ,

BLART TYPE BSID-BLART,

BELNR TYPE BSID-BELNR,

BLDAT TYPE BSID-BLDAT,

REBZG TYPE BSID-REBZG,

XBLNR TYPE BSID-XBLNR,

RSTGR TYPE BSID-RSTGR,

SHKZG TYPE BSID-SHKZG,

WRBTR TYPE BSID-WRBTR,

END OF WA_BSID.

DATA: WA_FINALTAB TYPE TY_FINALTAB.

DATA: WA_TVAUT TYPE TY_TVAUT.

DATA: BEGIN OF WA_ADRC,

ADDRNUMBER LIKE ADRC-ADDRNUMBER,

TITLE LIKE ADRC-TITLE,

NAME1 LIKE ADRC-NAME1,

STREET LIKE ADRC-STREET,

CITY1 LIKE ADRC-CITY1,

COUNTRY LIKE ADRC-COUNTRY,

REGION LIKE ADRC-REGION,

END OF WA_ADRC.

DATA:BEGIN OF WA_NAME1,

NAME1 LIKE KNA1-NAME1,

KUNNR LIKE KNA1-KUNNR,

END OF WA_NAME1.

*----


  • Global Variables (RFKORI00)

*----


DATA: G_ADRNR1 LIKE T049L-ADRNR.

DATA: G_LOCKB LIKE KNB1-LOCKB.

DATA: G_VBELN LIKE VBPA-VBELN.

DATA: G_AUGRU LIKE TVAUT-AUGRU.

DATA: G_AUGRU_AUFT LIKE VBRP-AUGRU_AUFT.

DATA: G_NAME1 LIKE KNA1-NAME1.

FORM RETRIVE_CUSTDET.

  • for customer address

SELECT SINGLE NAME1

STRAS

ORT01

PSTLZ

REGIO

LAND1

FROM KNA1

INTO WA_KNA1

WHERE KUNNR = SAVE_KUNNR.

CALL FUNCTION 'WRITE_FORM'

EXPORTING

ELEMENT = 'CUST_ADDRESS'

FUNCTION = 'SET'

TYPE = 'BODY'

WINDOW = 'ADDRESS'.

.

*TO RETRIVE THE VALUES FROM BSID

SELECT SINGLE BUKRS

KUNNR

BSCHL

UMSKZ

BLART

BELNR

BLDAT

WRBTR

BSCHL

SHKZG

REBZG

XBLNR

RSTGR

INTO WA_BSID

FROM BSID

WHERE BUKRS IN UBUKRS

AND KUNNR = SAVE_KUNNR

AND BSCHL IN HBSCHL

AND UMSKZ IN HUMSKZ.

SELECT SINGLE LOCKB

FROM KNB1

INTO G_LOCKB

WHERE BUKRS = WA_BSID-BUKRS.

IF WA_BSID-BUKRS EQ '1100' OR WA_BSID-BUKRS EQ '7100'.

SELECT SINGLE ADRNR

FROM T049L

INTO G_ADRNR1

WHERE BUKRS = WA_BSID-BUKRS

AND LOCKB = G_LOCKB.

ENDIF.

  • FOR REMITT ADDRESS

IF G_ADRNR1 IS NOT INITIAL.

SELECT SINGLE ADDRNUMBER

TITLE

NAME1

STREET

CITY1

COUNTRY

REGION

FROM ADRC

INTO WA_ADRC

WHERE ADDRNUMBER = G_ADRNR1.

ENDIF.

CALL FUNCTION 'WRITE_FORM'

EXPORTING

ELEMENT = 'REMIT_ADDRESS'

FUNCTION = 'SET'

TYPE = 'BODY'

WINDOW = 'ADDRESS3'.

*FOR DISPLAYING LINE ITEMS

*for ship-to number

SELECT SINGLE VBELN

FROM VBPA

INTO G_VBELN

WHERE PARVW = 'WE'.

SELECT SINGLE KUNNR

FROM BSEG

INTO WA_BSEG1

WHERE BUKRS = SAVE_BUKRS

AND BELNR = SAVE_BELNR

AND GJAHR = SAVE_GJAHR

AND BUZEI = SAVE_BUZEI.

SELECT SINGLE NAME1

FROM KNA1

INTO GT_NAME1

WHERE KUNNR = WA_BSEG1-KUNNR.

*for Detail document amount

*Fill one range with required posting keys.

RANGES: R_BSCHL FOR BSID-BSCHL.

R_BSCHL-SIGN = 'I'.

R_BSCHL-OPTION = 'BT'.

R_BSCHL-LOW = '01'.

R_BSCHL-HIGH = '09'.

APPEND R_BSCHL.

LOOP AT GT_BSID INTO WA_BSID.

IF WA_BSID-SHKZG = 'H'.

WA_BSID-WRBTR = WA_BSID-WRBTR * -1.

MODIFY GT_BSID INDEX SY-TABIX FROM WA_BSID.

ENDIF.

ENDLOOP.

*shift -ve sighn to front of amont using fm

CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'

CHANGING

VALUE = WA_BSID-WRBTR.

*For retrival of Order Reason

SELECT SINGLE AUGRU_AUFT

INTO G_AUGRU_AUFT

FROM VBRP

WHERE VBELN = G_VBELN.

SELECT SINGLE AUGRU

INTO WA_TVAUT

FROM TVAUT

WHERE AUGRU = G_AUGRU_AUFT

AND SPRAS = SY-LANGU.

CALL FUNCTION 'WRITE_FORM'

EXPORTING

ELEMENT = 'LINE_ITEMS'

FUNCTION = 'SET'

TYPE = 'BODY'

WINDOW = 'MAIN'.

LOOP AT GT_BSID INTO WA_BSID.

READ TABLE GT_TVAUT INTO WA_TVAUT WITH KEY AUGRU = G_AUGRU_AUFT.

READ TABLE GT_NAME1 INTO WA_NAME1 WITH KEY KUNNR = SAVE_KUNNR.

IF SY-SUBRC LT 4.

MOVE: WA_BSEG1-KUNNR TO WA_FINALTAB-KUNNR,

G_NAME1 TO WA_FINALTAB-NAME1,

WA_BSID-BLART TO WA_FINALTAB-BLART,

WA_BSID-BELNR TO WA_FINALTAB-BELNR,

WA_BSID-BLDAT TO WA_FINALTAB-BLDAT,

WA_BSID-WRBTR TO WA_FINALTAB-WRBTR,

SAVE_FAEDT TO WA_FINALTAB-FAEDT,

WA_BSID-REBZG TO WA_FINALTAB-REBZG,

WA_BSID-XBLNR TO WA_FINALTAB-XBLNR,

WA_TVAUT-AUGRU TO WA_FINALTAB-AUGRU,

WA_BSID-RSTGR TO WA_FINALTAB-RSTGR.

APPEND WA_FINALTAB TO GT_FINALTAB.

CLEAR GT_FINALTAB.

ENDIF.

ENDLOOP.

ENDFORM. "RETRIVE_CUSTDET

thanx,

hridhayanjili.