‎2007 Mar 23 5:34 PM
Hi ,
I am not very good with the flow...I need to find the tables to fulfill this requirement.
Anyone help me.
write a program which will take the customer number from the selection screen and show the following details of its sales order.
KUNNR , ERDAT,VKORG , VBELN and VKORG
Message was edited by:
ramana peddu
‎2007 Mar 23 5:43 PM
Hi,
You can read from table VBAK for field KUNNR, ERDAT, VKORG and VBELN.
Please try something like this.
TABLES: VBAK.
SELECT-OPTIONS: S_KUNNR FOR VBAK-KUNNR.
DATA: BEGIN OF I_VBAK OCCURS 0,
KUNNR LIKE VBAK-KUNNR,
ERDAT LIKE VBAK-ERDAT,
VKORG LIKE VBAK-VKORG,
VBELN LIKE VBAK-VBELN.
DATA: END OF I_VBAK.
SELECT KUNNR, ERDAT, VKORG, VBELN
INTO TABLE I_VBAK
FROM VBAK
WHERE KUNRR IN S_KUNNR.
SORT I_VBAK.
LOOP AT I_VBAK.
WRITE: / I_VBAK-KUNNR,
I_VBAK-ERDAT,
I_VBAK-VKORG,
I_VBAK-VBELN.
ENDLOOP.
Regards,
Ferry Lianto
‎2007 Mar 23 5:43 PM
Hi,
You can read from table VBAK for field KUNNR, ERDAT, VKORG and VBELN.
Please try something like this.
TABLES: VBAK.
SELECT-OPTIONS: S_KUNNR FOR VBAK-KUNNR.
DATA: BEGIN OF I_VBAK OCCURS 0,
KUNNR LIKE VBAK-KUNNR,
ERDAT LIKE VBAK-ERDAT,
VKORG LIKE VBAK-VKORG,
VBELN LIKE VBAK-VBELN.
DATA: END OF I_VBAK.
SELECT KUNNR, ERDAT, VKORG, VBELN
INTO TABLE I_VBAK
FROM VBAK
WHERE KUNRR IN S_KUNNR.
SORT I_VBAK.
LOOP AT I_VBAK.
WRITE: / I_VBAK-KUNNR,
I_VBAK-ERDAT,
I_VBAK-VKORG,
I_VBAK-VBELN.
ENDLOOP.
Regards,
Ferry Lianto
‎2007 Mar 23 5:45 PM
http://www.yousendit.com/transfer.php?action=batch_download&batch_id=M3Buc0w4Q1BVVGswTVE9PQ
go with this.
reward if found helpful.
regards.
santhosh
‎2007 Mar 23 5:45 PM
‎2007 Mar 23 5:47 PM
Hi Ramana,
PARAMETERS: P_KUNNR TYPE VBAK-KUNNR.
DATA:
BEGIN OF IT_VBAK OCCURS 0,
VBELN TYPE VBAK-VBELN,
ERDAT TYPE VBAK-ERDAT,
VKORG TYPE VBAK-VKROG,
KUNNR TYPE VBAK-KUNNR,
END OF IT_VBAK.
START-OF-SELECTION.
SELECT VBELN
ERDAT
VKORG
KUNNR
FROM VBAK
INTO TABLE IT_VBAK
WHERE KUNNR = P_KUNNR.
END-OF-SELECTION.
LOOP AT IT_VBAK,
WRITE:/ IT_VBAK.
ENDLOOP.
Thanks,
Vinay
‎2007 Mar 23 6:39 PM
Hi,
<b>Option-1:
-
</b>
Do not read VBAK for KUNNR since KUNNR is not index field. You have to create a index on table VBAK for KUNNR. But before that consult your SD functional lead.
If you create a idex on VBAK then your code would be:
*----------------------------------------------------------------------*
TABLES: vbak.
DATA: BEGIN OF lit_vbak OCCURS 0,
vbeln LIKE vbak-vbeln,
erdat LIKE vbak-erdat,
vkorg LIKE vbak-vkorg,
kunnr LIKE vbak-kunnr,
END OF lit_vbak.
SELECT-OPTIONS: s_kunnr FOR vbak-kunnr.
SELECT
vbeln
erdat
vkorg
kunnr FROM vbak
INTO TABLE lit_vbak
WHERE kunnr IN s_kunnr.
SORT lit_vbak BY kunnr erdat
vkorg vbeln.
LOOP AT lit_vbak.
WRITE: / lit_vbak-kunnr,
lit_vbak-erdat,
lit_vbak-vkorg,
lit_vbak-vbeln.
ENDLOOP.
*----------------------------------------------------------------------*<b>Option-2:
-
</b>
Read table VAKPA. This is Sales index table by partner function. Let's your customer are "Solt-to party" and your order type is "ZOR" then your code would be:
*----------------------------------------------------------------------*
TABLES: vbak.
CONSTANTS: c_auart LIKE vbak-auart VALUE 'ZOR',
c_parvw LIKE vbpa-parvw VALUE 'SP'.
DATA: BEGIN OF lit_vbak OCCURS 0,
kunnr LIKE vbak-kunnr,
vkorg LIKE vbak-vkorg,
vbeln LIKE vbak-vbeln,
erdat LIKE vbak-erdat,
END OF lit_vbak.
SELECT-OPTIONS: s_kunnr FOR vbak-kunnr.
SELECT
a~kunde
a~vkorg
a~vbeln
b~erdat FROM vakpa AS a
INNER JOIN vbak AS b
ON a~vbeln = b~vbeln
INTO TABLE lit_vbak
WHERE a~kunde IN s_kunnr AND
a~parvw = c_parvw AND
a~auart = c_auart.
SORT lit_vbak BY kunnr erdat
vkorg vbeln.
LOOP AT lit_vbak.
WRITE: / lit_vbak-kunnr,
lit_vbak-erdat,
lit_vbak-vkorg,
lit_vbak-vbeln.
ENDLOOP.
*----------------------------------------------------------------------*Let me know if you need any other information.
Regards,
RS