/sapapo/vs01- Adding a feild to Output Dispaly
Hi,
I have appended a field to the displaying structure:/SAPAPO/VSR_G_FUNIT,which displays the orders.
I tried to change the filed catalog for that structure by deleting the indicator for NO_OUT = space & TECH = X, i made same as all other fields properties.
But im not able to display in the output.
If u have any idea please share with me.
Regards.
Dayakar.
i got solution..
thanks...
Similar Messages
-
Adding fields in EDI output of Invoice List
Hi!
I am trying to find out what is a process of adding fields in EDI output of Invoice List...
I mean that I need to add some extra fields to Invoice lists.
The information I have is: name of Form, print program and output type.
I guess I need to modify printing program, is it a correct way to go?
Hope to avoid modifying of print form...
Will reward,
Mindaugas.I did not work on invoice list EDI,but i have done invoice.
First you need to look at segment,if you want to add new fileds in output,then you need to create segment at WE31 Transaction.
now create idoc type based on invoice idoc type ( WE30) here you need to use ur segment.
Idoc has function module
outbound - FM will start IDOC_OUTBOUND_inv*
Inbound - FM will Start IDOC_INBOUND_INV*
in the FM,you will have user exit ,populate ur fields in user exit.
Configuration :
1 create or maintain logical system - SALE
2. Create RFC Destination - Sm59
3. Create port - WE21 - ( EDI - Port is FILE)
6.Maintain partner profile - WE20 ( Give all required details like message type,idoc type)
IDOC Status - WE02 or WE05
Status Record - WE47
Change pointer - BD52
Message type : WE81
Assign message type to idoc WE82
finally when you create invoice list and output type medium is 6 then output will go to other system as text file.
Note : Please maintain message control in Partner profile. -
TPVS - Change mileage in /sapapo/vs01.
Hello,
I have a requirement to change the mileage within the shipment in the following 3 tabs: tabular planning, details, and geographical overview.
I have tried using BADI /SAPAPO/VS_OPT_PREP but the value always reverts back to the value on the transportation lane.
Is there a way to override these 3 distance values through a BADI, user exit, or enhancement?
I was able to make a change in debugger which changed the shipment ( /SAPAPO/VS_LCMAP ) but this value doesn't get pulled back into vehicle scheduling once I bakc out and return to /SAPAPO/VS01.
Any advice is much appreciated.
Thanks
JaydenDear Ashok,
For setting Map Display in TP/VS you have to do following steps
1) Setting GIS Server - Establish TCPIP connection to Server in SM59. Note that each server is connected to different set of Map (such as US, UK, etc.) If you plan to use multiple maps, the you should set up appropriate connections
2) Run report ZBMIGS_RFC_DEST for the user you want to dsiplay map
3) In SPRO, activate GIS Usage 'Activate GIS Roadmap' for the user.
4) Set Usage of GIS tool in Tr. Lane
5) You can run report GRAPHICS_GIS_VIEW_DEMo to test it.
Now you should be able to view Maps in VS01.
In case of more clarification, you can revert back
Thanks & Regards
Sandeep Patil -
Consequences of adding and smartform to output type in nace
Dear experts,
I have one doubt . I want to link one smart form to output type EF ie purchase order. When I am saving it system is asking for customizing requests. I am doing this in development system to check the functionality of one smartform. Because we dont have any IDES System to test. Well I want to what are the consequences of adding an smartform to output type in nace. Whether it wil reflect in quality system without transporting the request. After testing can i remove that smartform which is attached to output type EF. Please confirm.No replies .
-
Source location incorrect for POs in /SAPAPO/VS01
Our POs have the following partner functions:
PI Invoicing Party
GS Goods supplier
VN Vendor
Right now the source location shows VN.But since goods ship from GS and not from VN , the source location must show GS in transaction /SAPAPO/VS01.
Do you know how I coould achieve this?
Thanks,
SatishSatish
We were also working on a similar requirement , but got stuck because we were not able to bring over the vendor partner functions from R/3 to APO. Actually when you maintain partner functions in a vendor location and CIF it over to APO you would expect the partner function details to appear in the location master in APO. But that does not happen . Not sure why.
Also one more thing i noticed is that there is a field called vendor subrange in the vendor - location transportaion lane , but then that also does not get populated. May be an OSS message is required to solve the problem
Please keep me updated about the solution you get.
Thanks
Saradha -
Adding new feild (KTEXT) in output of KOK5.
Hi,
kindly help me I have to add a new field KTEXT in the output of T-Code KOK5 it is standard report.Which version do you have? I have KTEXT by default, it's part of the COAS view and it can be selected in the standard ALV Grid ouput. Check your variant, it should be there.
Peter -
Adding Field to the output of the Report
Hello experts
I have a program like following, I would like to add a field (Customer purchase order from order header)vbkd-bstkd to the output, I tried to add some code(check the highlightened portion) but it doesnt work(no values) can anyone help in correcting the code so that i can execute directly,
Iam not full time ABAPer so could you please highlight the code you corrected(added),
Thanks
SP
Global structure of list
TYPE-POOLS: slis.
TABLES: likp,
lips,
vbfa,
kssk,
klah,
ausp,
cabn,
vbak,
mara,
vbrk,
ser01,
vbpa,
vbrp,
nast,
zseri,
ltap,
pa0001,
kna1,
objk,
viqmel,
viqmma.
TYPES: BEGIN OF i_delivery,
vbeln LIKE likp-vbeln,
posnr LIKE lips-posnr,
kunnr LIKE likp-kunnr,
kunag LIKE likp-kunag,
vkorg LIKE vbak-vkorg,
matnr LIKE lips-matnr,
lfart LIKE likp-lfart,
arktx LIKE vbap-arktx,
vgbel LIKE lips-vgbel,
vgpos LIKE lips-vgpos,
pstyv LIKE lips-pstyv,
wadat TYPE likp-wadat_ist,
lfdat TYPE likp-lfdat,
prodh TYPE lips-prodh,
lfimg TYPE lips-lfimg,
vkbur TYPE lips-vkbur,
werks TYPE lips-werks,
vkgrp TYPE lips-vkgrp,
mvgr1 TYPE lips-mvgr1,
sernr LIKE equi-sernr,
sernp LIKE equi-sernr,
equnr LIKE equi-equnr,
kttxt LIKE qpct-kurztext,
fkimg LIKE vbrp-fkimg,
bstnk LIKE vbak-bstnk,
vbelv LIKE lips-vgbel,
posnv LIKE lips-posnv,
uecha LIKE lips-uecha,
ernam LIKE vbak-ernam,
erdat LIKE vbak-erdat,
serail LIKE lips-serail,
anzsn LIKE lips-anzsn,
auart LIKE vbak-auart ,
netwr LIKE vbap-netwr,
fstno LIKE vbpa-pernr,
fstnm LIKE pa0001-ename,
ename LIKE pa0001-ename,
qname LIKE ltap-qname,
name1 LIKE kna1-name1,
name3 LIKE kna1-name2,
pernr LIKE vbpa-pernr,
aufnr LIKE viqmel-aufnr,
qmnum LIKE viqmel-qmnum,
mngrp LIKE viqmma-mngrp,
qmcod LIKE viqmel-qmcod,
qmcol LIKE viqmma-mncod,
cotxt(20),
invvalue LIKE vbrp-netwr,
posnn LIKE vbfa-posnn,
bstkd LIKE vbkd-bstkd,
END OF i_delivery.
Global structure of list
*/ Selection and Input Parameters
SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME TITLE text-003.
SELECT-OPTIONS: s_vkorg FOR likp-vkorg NO INTERVALS.
SELECT-OPTIONS: s_vbeln FOR likp-vbeln,
s_lfart FOR likp-lfart,
s_kunnr FOR likp-kunnr,
s_erdat FOR likp-erdat,
s_wadat FOR likp-wadat_ist,
s_werks FOR lips-werks,
s_matnr FOR lips-matnr,
s_prodh FOR lips-prodh,
s_qmnum FOR viqmel-qmnum.
SELECTION-SCREEN END OF BLOCK block2.
SELECTION-SCREEN BEGIN OF BLOCK block4 WITH FRAME TITLE text-002.
SELECT-OPTIONS: s_vbelv FOR vbak-vbeln,
s_auart FOR vbak-auart.
SELECTION-SCREEN END OF BLOCK block4.
PARAMETERS: p_vari LIKE disvariant-variant.
RANGES: r_vbeln FOR likp-vbeln.
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv.
DATA: gt_outtab TYPE i_delivery OCCURS 0 WITH HEADER LINE,
rt_outtab1 TYPE i_delivery OCCURS 0 WITH HEADER LINE,
i_nast TYPE nast OCCURS 0 WITH HEADER LINE,
gt_list_top_of_page TYPE slis_t_listheader,
gt_events TYPE slis_t_event,
gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
DATA: g_repid LIKE sy-repid,
g_count LIKE sy-tabix.
DATA: BEGIN OF i_serial OCCURS 0,
obknr TYPE ser01-obknr,
lief_nr TYPE ser01-lief_nr,
posnr TYPE ser01-posnr,
anzsn TYPE ser01-anzsn,
END OF i_serial.
DATA: BEGIN OF i_object_numbers OCCURS 0,
obknr TYPE objk-obknr,
obzae TYPE objk-obzae,
sernr TYPE objk-sernr,
equnr TYPE objk-equnr,
matnr TYPE objk-matnr,
taser TYPE objk-taser,
END OF i_object_numbers.
DATA: g_save(1) TYPE c,
g_default(1) TYPE c,
g_exit(1) TYPE c,
gx_variant LIKE disvariant,
g_variant LIKE disvariant.
DATA: g_mnkat LIKE viqmma-mnkat,
g_mngrp LIKE viqmma-mngrp,
g_atinn LIKE ausp-atinn.
DATA: gt_vbkd TYPE TABLE OF vbkd WITH HEADER LINE.
Initialization fieldcatalog
INITIALIZATION.
g_repid = sy-repid.
PERFORM fieldcat_init USING gt_fieldcat[].
MOVE: 'I' TO s_vkorg-sign,
'EQ' TO s_vkorg-option,
'5090' TO s_vkorg-low.
APPEND s_vkorg.
MOVE: 'I' TO s_lfart-sign,
'EQ' TO s_lfart-option,
'LF' TO s_lfart-low.
APPEND s_lfart.
g_save = 'A'.
PERFORM variant_init.
Get default variant
gx_variant = g_variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = g_save
CHANGING
cs_variant = gx_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 0.
p_vari = gx_variant-variant.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
PERFORM f4_for_variant.
AT SELECTION-SCREEN.
PERFORM pai_of_selection_screen.
Start of Selection
START-OF-SELECTION.
PERFORM e03_eventtab_build USING gt_events[].
PERFORM select_data TABLES gt_outtab.
Display list
END-OF-SELECTION.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_background_id = 'ALV_BACKGROUND'
i_callback_user_command = 'USER_COMMAND'
is_variant = g_variant
i_save = g_save
i_callback_program = g_repid
it_fieldcat = gt_fieldcat[]
TABLES
t_outtab = gt_outtab.
Forms
Initialization fieldcatalog
FORM fieldcat_init
USING rt_fieldcat TYPE slis_t_fieldcat_alv.
DATA: ls_fieldcat TYPE slis_fieldcat_alv.
DATA: pos TYPE i VALUE 1.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'VBELN'.
ls_fieldcat-seltext_s = 'Delivery'.
ls_fieldcat-seltext_m = 'Delivery'.
ls_fieldcat-key = 'X'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'BSTKD'.
ls_fieldcat-seltext_s = 'PO Number'.
ls_fieldcat-seltext_m = 'PO Number'.
ls_fieldcat-key = 'X'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'POSNR'.
ls_fieldcat-key = 'X'.
ls_fieldcat-seltext_s = 'Item'.
ls_fieldcat-seltext_m = 'Item'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'LFART'.
ls_fieldcat-seltext_s = 'Del Type'.
ls_fieldcat-seltext_m = 'Delivery Type'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'VGBEL'.
ls_fieldcat-seltext_s = 'Source Doc'.
ls_fieldcat-seltext_m = 'Source Doc'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'AUART'.
ls_fieldcat-seltext_s = 'Type'.
ls_fieldcat-seltext_m = 'Type'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'KUNNR'.
ls_fieldcat-seltext_s = 'Customer'.
ls_fieldcat-seltext_m = 'Customer'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'NAME1'.
ls_fieldcat-seltext_s = 'Name'.
ls_fieldcat-seltext_m = 'Name1'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'WERKS'.
ls_fieldcat-seltext_s = 'Plant'.
ls_fieldcat-seltext_m = 'Plant'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'MATNR'.
ls_fieldcat-seltext_s = 'Material'.
ls_fieldcat-seltext_m = 'Material'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'MVGR1'.
ls_fieldcat-seltext_s = 'Speciality'.
ls_fieldcat-seltext_m = 'Speciality'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'PRODH'.
ls_fieldcat-seltext_s = 'Hierarchy'.
ls_fieldcat-seltext_m = 'Prod Hierarchy'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'ARKTX'.
ls_fieldcat-seltext_s = 'Description'.
ls_fieldcat-seltext_m = 'Description'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'ERNAM'.
ls_fieldcat-seltext_s = 'Created By'.
ls_fieldcat-seltext_m = 'Created By'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'ERDAT'.
ls_fieldcat-seltext_s = 'Created On'.
ls_fieldcat-seltext_m = 'Created On'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'WADAT_IST'.
ls_fieldcat-seltext_s = 'GoodsMvt.Date'.
ls_fieldcat-seltext_m = 'Goods Mvt Date'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'SERNR'.
ls_fieldcat-seltext_s = 'Serial Shipped'.
ls_fieldcat-seltext_m = 'Serial Shipped'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'SERNP'.
ls_fieldcat-seltext_s = 'Old Serial'.
ls_fieldcat-seltext_m = 'Old Serial'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'VBELV'.
ls_fieldcat-seltext_s = 'Invoice'.
ls_fieldcat-seltext_m = 'Invoice'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'INVVALUE'.
ls_fieldcat-seltext_s = 'Invoice Amt'.
ls_fieldcat-seltext_m = 'Invoice Value'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'QMNUM'.
ls_fieldcat-seltext_s = 'Notification'.
ls_fieldcat-seltext_m = 'Notification'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'QMCOD'.
ls_fieldcat-seltext_s = 'Rep LevKST'.
ls_fieldcat-seltext_m = 'Repair Level KST'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'COTXT'.
ls_fieldcat-seltext_s = 'CdTXT KST'.
ls_fieldcat-seltext_m = 'Repair Level Text KST'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'QMCOL'.
ls_fieldcat-seltext_s = 'Rep LevKSE'.
ls_fieldcat-seltext_m = 'Repair Level KSE'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'KTTXT'.
ls_fieldcat-seltext_s = 'CdTXT KSE'.
ls_fieldcat-seltext_m = 'Repair Level Text KSE'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ENDFORM. "fieldcat_init
Data selection
FORM select_data TABLES rt_outtab LIKE gt_outtab[].
CLEAR: r_vbeln[].
Read all Invoices for the Selection
SELECT DISTINCT h~vbeln h~kunnr h~kunag
d~posnr d~matnr d~anzsn
d~serail d~vgbel d~vgpos
d~posnv d~lfimg d~arktx
d~uecha h~lfart h~erdat
h~ernam h~lfdat d~prodh
h~vkorg d~vkbur d~vkgrp
d~mvgr1 h~wadat_ist d~pstyv
d~werks
INTO (rt_outtab-vbeln, rt_outtab-kunnr,
rt_outtab-kunag, rt_outtab-posnr,
rt_outtab-matnr, rt_outtab-anzsn,
rt_outtab-serail, rt_outtab-vgbel,
rt_outtab-vgpos, rt_outtab-posnv,
rt_outtab-lfimg, rt_outtab-arktx,
rt_outtab-uecha, rt_outtab-lfart,
rt_outtab-erdat, rt_outtab-ernam,
rt_outtab-lfdat, rt_outtab-prodh,
rt_outtab-vkorg, rt_outtab-vkbur,
rt_outtab-vkgrp, rt_outtab-mvgr1,
rt_outtab-wadat, rt_outtab-pstyv,
rt_outtab-werks)
FROM likp AS h INNER JOIN lips AS d
ON h~vbeln = d~vbeln
WHERE h~vbeln IN s_vbeln
AND h~vkorg IN s_vkorg
AND h~lfart IN s_lfart
AND h~kunnr IN s_kunnr
AND h~wadat IN s_wadat
AND d~matnr IN s_matnr
AND d~werks IN s_werks
AND d~prodh IN s_prodh
AND d~vgbel IN s_vbelv
AND d~matnr LIKE 'S%'.
SELECT SINGLE * FROM vbak WHERE vbeln = rt_outtab-vgbel.
IF: sy-subrc EQ 0.
MOVE vbak-vbeln TO rt_outtab-vgbel.
MOVE vbak-auart TO rt_outtab-auart.
ENDIF.
SELECT SINGLE * FROM mara WHERE matnr = rt_outtab-matnr
AND mtart EQ 'FERT'.
CHECK sy-subrc EQ 0.
IF NOT rt_outtab-posnv IS INITIAL.
rt_outtab-vgpos = rt_outtab-posnv.
ENDIF.
CLEAR: vbfa.
SELECT SINGLE vbeln posnn rfwrt INTO
(rt_outtab-vbelv, rt_outtab-posnn, rt_outtab-netwr)
FROM vbfa WHERE vbelv EQ rt_outtab-vbeln
AND posnv EQ rt_outtab-posnr
AND vbtyp_n EQ 'M'.
CLEAR : rt_outtab-invvalue.
SELECT SINGLE * FROM vbrp WHERE vbeln = rt_outtab-vbelv
AND posnr = rt_outtab-posnn.
rt_outtab-fkimg = vbrp-fkimg.
IF rt_outtab-fkimg NE 0.
rt_outtab-invvalue = rt_outtab-netwr / rt_outtab-fkimg.
ENDIF.
APPEND rt_outtab.
IF NOT r_vbeln-low IS INITIAL.
IF r_vbeln-low GT rt_outtab-vbeln.
r_vbeln-low = rt_outtab-vbeln.
ENDIF.
IF r_vbeln-high LT rt_outtab-vbeln.
r_vbeln-high = rt_outtab-vbeln.
ENDIF.
ELSE.
r_vbeln-low = rt_outtab-vbeln.
r_vbeln-high = rt_outtab-vbeln.
ENDIF.
CLEAR: rt_outtab.
ENDSELECT.
IF NOT rt_outtab[] IS INITIAL.
SELECT vbeln posnr bstkd INTO CORRESPONDING FIELDS OF TABLE gt_vbkd
FROM vbkd
FOR ALL ENTRIES IN rt_outtab
WHERE vbeln = rt_outtab-vgbel
AND posnr = rt_outtab-vgpos.
IF NOT gt_vbkd[] IS INITIAL.
SORT gt_vbkd BY vbeln posnr.
LOOP AT rt_outtab.
READ TABLE gt_vbkd WITH KEY vbeln = rt_outtab-vgbel
posnr = rt_outtab-vgpos
BINARY SEARCH.
IF sy-subrc = 0.
rt_outtab-bstkd = gt_vbkd-bstkd.
MODIFY rt_outtab.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
*select bstkd INTO CORRESPONDING FIELDS OF TABLE gt_vbkd
from vbkd where vbeln = gt_outtab-vbeln
and posnr = '000000'.
rt_outtab-bstkd = vbkd-bstkd .
<i><b> select single bstkd into gt_vbkd
from vbkd where vbeln = rt_outtab-vbeln
and posnr = '000000'.
rt_outtab-bstkd = gt_vbkd-bstkd.
APPEND rt_outtab .</b></i>
IF NOT r_vbeln IS INITIAL.
MOVE: 'I' TO r_vbeln-sign,
'BT' TO r_vbeln-option.
APPEND r_vbeln.
SELECT * INTO CORRESPONDING FIELDS OF TABLE i_serial
FROM ser01 WHERE lief_nr IN r_vbeln.
ENDIF.
SORT i_serial.
IF NOT i_serial[] IS INITIAL.
SELECT * INTO CORRESPONDING FIELDS OF TABLE i_object_numbers
FROM objk
FOR ALL ENTRIES IN i_serial
WHERE obknr EQ i_serial-obknr
AND taser EQ 'SER01'.
ENDIF.
SORT i_object_numbers BY obknr obzae.
LOOP AT rt_outtab.
CLEAR: rt_outtab-name1, rt_outtab-sernr, rt_outtab-lfimg,
rt_outtab-sernp, rt_outtab-kttxt.
Read the Sold To Name
SELECT SINGLE name1 INTO rt_outtab-name1
FROM kna1 WHERE kunnr EQ rt_outtab-kunnr.
Read Ship-to Customer
CLEAR: objk.
IF NOT rt_outtab-serail IS INITIAL.
READ TABLE i_serial WITH KEY lief_nr = rt_outtab-vbeln
posnr = rt_outtab-posnr.
IF sy-subrc EQ 0.
DO i_serial-anzsn TIMES.
CLEAR: rt_outtab-sernr, rt_outtab-sernp.
READ TABLE i_object_numbers WITH KEY obknr = i_serial-obknr
matnr = rt_outtab-matnr
BINARY SEARCH.
IF sy-subrc EQ 0.
rt_outtab-sernr = i_object_numbers-sernr.
DELETE i_object_numbers INDEX sy-tabix.
MOVE '1' TO rt_outtab-lfimg.
CLEAR: rt_outtab-aufnr, rt_outtab-qmnum,
rt_outtab-equnr, rt_outtab-qmcod, g_mngrp, g_mnkat.
SELECT SINGLE aufnr qmnum equnr qmcod qmgrp qmkat
INTO (rt_outtab-aufnr, rt_outtab-qmnum,
rt_outtab-equnr, rt_outtab-qmcod, g_mngrp, g_mnkat)
FROM viqmel WHERE matnr = rt_outtab-matnr
AND serialnr = rt_outtab-sernr
AND qmart EQ 'S4'
AND qmnum IN s_qmnum.
CLEAR: rt_outtab-cotxt.
SELECT SINGLE kurztext INTO rt_outtab-cotxt
FROM qpct WHERE katalogart EQ g_mnkat
AND codegruppe EQ g_mngrp
AND code EQ rt_outtab-qmcod
AND sprache EQ sy-langu.
Read Serial Number from Name Plate Data.
CLEAR: klah, kssk, ausp, cabn, g_atinn.
SELECT SINGLE atinn INTO (g_atinn) FROM cabn
WHERE atnam = 'SBANK_SERIAL_NUMBER'.
SELECT SINGLE atwrt
INTO (rt_outtab-sernp)
FROM ( klah AS a INNER JOIN kssk AS k
ON aclint = kclint )
JOIN ausp AS p
ON kobjek = pobjek
AND p~atinn = g_atinn
AND pklart = aklart
WHERE a~klart = '002'
AND a~class = 'KSE_SN_ENDOSCOPES'
AND k~objek = rt_outtab-equnr.
*KSE Repair level (activity code text from KSE-SM07 code group)
CLEAR: rt_outtab-qmcol, g_mngrp, g_mnkat.
CLEAR: rt_outtab-qmcol.
CLEAR: g_mnkat, g_mngrp.
SELECT SINGLE mnkat mngrp mncod INTO
(g_mnkat, g_mngrp, rt_outtab-qmcol)
FROM viqmma WHERE qmnum = rt_outtab-qmnum
AND mngrp EQ 'KSE-SM07'
AND kzloesch EQ space.
CLEAR: rt_outtab-kttxt.
SELECT SINGLE kurztext INTO rt_outtab-kttxt
FROM qpct WHERE katalogart EQ g_mnkat
AND codegruppe EQ g_mngrp
AND code EQ rt_outtab-qmcol
AND sprache EQ sy-langu.
rt_outtab1 = rt_outtab.
APPEND rt_outtab1.
ENDIF.
ENDDO.
ENDIF.
ENDIF.
ENDLOOP.
CLEAR: rt_outtab[].
rt_outtab[] = rt_outtab1[].
SORT rt_outtab BY vbeln posnr.
ENDFORM.
FORM get_repname *
--> P_VBELN *
--> P_POSNR *
--> P_PERNR *
--> P_ENAME *
FORM get_repname USING p_vbeln
p_posnr
CHANGING p_pernr
p_ename. "
DATA: i_vbpa LIKE vbpa OCCURS 0 WITH HEADER LINE.
CLEAR: i_vbpa[].
CALL FUNCTION 'Z_DETERMINE_ACTIVE_SALES_REP'
EXPORTING
g_salesdocument = p_vbeln
g_sales_item = p_posnr
TABLES
st_vbpa = i_vbpa.
READ TABLE i_vbpa INDEX 1.
IF sy-subrc = 0.
p_pernr = i_vbpa-pernr.
SELECT SINGLE ename INTO p_ename
FROM pa0001
WHERE pernr = i_vbpa-pernr.
ENDIF.
ENDFORM. " get_repname
FORM E03_EVENTTAB_BUILD *
--> E03_LT_EVENTS *
FORM e03_eventtab_build USING e03_lt_events TYPE slis_t_event.
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = e03_lt_events.
READ TABLE e03_lt_events WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE gc_formname_top_of_page TO ls_event-form.
APPEND ls_event TO e03_lt_events.
ENDIF.
ENDFORM.
FORM TOP_OF_PAGE *
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = gt_list_top_of_page.
ENDFORM.
*& Form USER_COMMAND
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
PERFORM display_delivery USING r_ucomm
rs_selfield.
ENDCASE.
ENDFORM.
*& Form display_delivery
FORM display_delivery
USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE rs_selfield-sel_tab_field.
WHEN '1-VBELN'.
SET PARAMETER ID 'VL' FIELD rs_selfield-value.
CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN.
WHEN '1-VBELV'.
SET PARAMETER ID 'VF' FIELD rs_selfield-value.
CALL TRANSACTION 'VF03N' AND SKIP FIRST SCREEN.
ENDCASE.
ENDFORM.
*& Form VARIANT_INIT
text
--> p1 text
<-- p2 text
FORM variant_init.
CLEAR g_variant.
g_variant-report = g_repid.
ENDFORM. " VARIANT_INIT
*& Form F4_FOR_VARIANT
text
--> p1 text
<-- p2 text
FORM f4_for_variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = g_variant
i_save = g_save
it_default_fieldcat =
IMPORTING
e_exit = g_exit
es_variant = gx_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 2.
MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
IF g_exit = space.
p_vari = gx_variant-variant.
ENDIF.
ENDIF.
ENDFORM.
*& Form PAI_OF_SELECTION_SCREEN
text
FORM pai_of_selection_screen.
IF NOT p_vari IS INITIAL.
MOVE g_variant TO gx_variant.
MOVE p_vari TO gx_variant-variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
i_save = g_save
CHANGING
cs_variant = gx_variant.
g_variant = gx_variant.
ELSE.
PERFORM variant_init.
ENDIF.
ENDFORM.naren this is the program
Global structure of list
TYPE-POOLS: slis.
TABLES: likp,
lips,
vbfa,
kssk,
klah,
ausp,
cabn,
vbak,
mara,
vbrk,
ser01,
vbpa,
vbrp,
nast,
zseri,
ltap,
pa0001,
kna1,
objk,
viqmel,
viqmma.
TYPES: BEGIN OF i_delivery,
vbeln LIKE likp-vbeln,
posnr LIKE lips-posnr,
kunnr LIKE likp-kunnr,
kunag LIKE likp-kunag,
vkorg LIKE vbak-vkorg,
matnr LIKE lips-matnr,
lfart LIKE likp-lfart,
arktx LIKE vbap-arktx,
vgbel LIKE lips-vgbel,
vgpos LIKE lips-vgpos,
pstyv LIKE lips-pstyv,
wadat TYPE likp-wadat_ist,
lfdat TYPE likp-lfdat,
prodh TYPE lips-prodh,
lfimg TYPE lips-lfimg,
vkbur TYPE lips-vkbur,
werks TYPE lips-werks,
vkgrp TYPE lips-vkgrp,
mvgr1 TYPE lips-mvgr1,
sernr LIKE equi-sernr,
sernp LIKE equi-sernr,
equnr LIKE equi-equnr,
kttxt LIKE qpct-kurztext,
fkimg LIKE vbrp-fkimg,
bstnk LIKE vbak-bstnk,
vbelv LIKE lips-vgbel,
posnv LIKE lips-posnv,
uecha LIKE lips-uecha,
ernam LIKE vbak-ernam,
erdat LIKE vbak-erdat,
serail LIKE lips-serail,
anzsn LIKE lips-anzsn,
auart LIKE vbak-auart ,
netwr LIKE vbap-netwr,
fstno LIKE vbpa-pernr,
fstnm LIKE pa0001-ename,
ename LIKE pa0001-ename,
qname LIKE ltap-qname,
name1 LIKE kna1-name1,
name3 LIKE kna1-name2,
pernr LIKE vbpa-pernr,
aufnr LIKE viqmel-aufnr,
qmnum LIKE viqmel-qmnum,
mngrp LIKE viqmma-mngrp,
qmcod LIKE viqmel-qmcod,
qmcol LIKE viqmma-mncod,
cotxt(20),
invvalue LIKE vbrp-netwr,
posnn LIKE vbfa-posnn,
bstkd LIKE vbkd-bstkd,
END OF i_delivery.
Global structure of list
*/ Selection and Input Parameters
SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME TITLE text-003.
SELECT-OPTIONS: s_vkorg FOR likp-vkorg NO INTERVALS.
SELECT-OPTIONS: s_vbeln FOR likp-vbeln,
s_lfart FOR likp-lfart,
s_kunnr FOR likp-kunnr,
s_erdat FOR likp-erdat,
s_wadat FOR likp-wadat_ist,
s_werks FOR lips-werks,
s_matnr FOR lips-matnr,
s_prodh FOR lips-prodh,
s_qmnum FOR viqmel-qmnum.
SELECTION-SCREEN END OF BLOCK block2.
SELECTION-SCREEN BEGIN OF BLOCK block4 WITH FRAME TITLE text-002.
SELECT-OPTIONS: s_vbelv FOR vbak-vbeln,
s_auart FOR vbak-auart.
SELECTION-SCREEN END OF BLOCK block4.
PARAMETERS: p_vari LIKE disvariant-variant.
RANGES: r_vbeln FOR likp-vbeln.
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv.
DATA: gt_outtab TYPE i_delivery OCCURS 0 WITH HEADER LINE,
rt_outtab1 TYPE i_delivery OCCURS 0 WITH HEADER LINE,
i_nast TYPE nast OCCURS 0 WITH HEADER LINE,
gt_list_top_of_page TYPE slis_t_listheader,
gt_events TYPE slis_t_event,
gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
DATA: g_repid LIKE sy-repid,
g_count LIKE sy-tabix.
DATA: BEGIN OF i_serial OCCURS 0,
obknr TYPE ser01-obknr,
lief_nr TYPE ser01-lief_nr,
posnr TYPE ser01-posnr,
anzsn TYPE ser01-anzsn,
END OF i_serial.
DATA: BEGIN OF i_object_numbers OCCURS 0,
obknr TYPE objk-obknr,
obzae TYPE objk-obzae,
sernr TYPE objk-sernr,
equnr TYPE objk-equnr,
matnr TYPE objk-matnr,
taser TYPE objk-taser,
END OF i_object_numbers.
DATA: g_save(1) TYPE c,
g_default(1) TYPE c,
g_exit(1) TYPE c,
gx_variant LIKE disvariant,
g_variant LIKE disvariant.
DATA: g_mnkat LIKE viqmma-mnkat,
g_mngrp LIKE viqmma-mngrp,
g_atinn LIKE ausp-atinn.
DATA: gt_vbkd TYPE TABLE OF vbkd WITH HEADER LINE.
Initialization fieldcatalog
INITIALIZATION.
g_repid = sy-repid.
PERFORM fieldcat_init USING gt_fieldcat[].
MOVE: 'I' TO s_vkorg-sign,
'EQ' TO s_vkorg-option,
'5090' TO s_vkorg-low.
APPEND s_vkorg.
MOVE: 'I' TO s_lfart-sign,
'EQ' TO s_lfart-option,
'LF' TO s_lfart-low.
APPEND s_lfart.
g_save = 'A'.
PERFORM variant_init.
Get default variant
gx_variant = g_variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = g_save
CHANGING
cs_variant = gx_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 0.
p_vari = gx_variant-variant.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
PERFORM f4_for_variant.
AT SELECTION-SCREEN.
PERFORM pai_of_selection_screen.
Start of Selection
START-OF-SELECTION.
PERFORM e03_eventtab_build USING gt_events[].
PERFORM select_data TABLES gt_outtab.
Display list
END-OF-SELECTION.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_background_id = 'ALV_BACKGROUND'
i_callback_user_command = 'USER_COMMAND'
is_variant = g_variant
i_save = g_save
i_callback_program = g_repid
it_fieldcat = gt_fieldcat[]
TABLES
t_outtab = gt_outtab.
Forms
Initialization fieldcatalog
FORM fieldcat_init
USING rt_fieldcat TYPE slis_t_fieldcat_alv.
DATA: ls_fieldcat TYPE slis_fieldcat_alv.
DATA: pos TYPE i VALUE 1.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'VBELN'.
ls_fieldcat-seltext_s = 'Delivery'.
ls_fieldcat-seltext_m = 'Delivery'.
ls_fieldcat-key = 'X'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'BSTKD'.
ls_fieldcat-seltext_s = 'PO Number'.
ls_fieldcat-seltext_m = 'PO Number'.
ls_fieldcat-key = 'X'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'POSNR'.
ls_fieldcat-key = 'X'.
ls_fieldcat-seltext_s = 'Item'.
ls_fieldcat-seltext_m = 'Item'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'LFART'.
ls_fieldcat-seltext_s = 'Del Type'.
ls_fieldcat-seltext_m = 'Delivery Type'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'VGBEL'.
ls_fieldcat-seltext_s = 'Source Doc'.
ls_fieldcat-seltext_m = 'Source Doc'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'AUART'.
ls_fieldcat-seltext_s = 'Type'.
ls_fieldcat-seltext_m = 'Type'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'KUNNR'.
ls_fieldcat-seltext_s = 'Customer'.
ls_fieldcat-seltext_m = 'Customer'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'NAME1'.
ls_fieldcat-seltext_s = 'Name'.
ls_fieldcat-seltext_m = 'Name1'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'WERKS'.
ls_fieldcat-seltext_s = 'Plant'.
ls_fieldcat-seltext_m = 'Plant'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'MATNR'.
ls_fieldcat-seltext_s = 'Material'.
ls_fieldcat-seltext_m = 'Material'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'MVGR1'.
ls_fieldcat-seltext_s = 'Speciality'.
ls_fieldcat-seltext_m = 'Speciality'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'PRODH'.
ls_fieldcat-seltext_s = 'Hierarchy'.
ls_fieldcat-seltext_m = 'Prod Hierarchy'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'ARKTX'.
ls_fieldcat-seltext_s = 'Description'.
ls_fieldcat-seltext_m = 'Description'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'ERNAM'.
ls_fieldcat-seltext_s = 'Created By'.
ls_fieldcat-seltext_m = 'Created By'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'ERDAT'.
ls_fieldcat-seltext_s = 'Created On'.
ls_fieldcat-seltext_m = 'Created On'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'WADAT_IST'.
ls_fieldcat-seltext_s = 'GoodsMvt.Date'.
ls_fieldcat-seltext_m = 'Goods Mvt Date'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'SERNR'.
ls_fieldcat-seltext_s = 'Serial Shipped'.
ls_fieldcat-seltext_m = 'Serial Shipped'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'SERNP'.
ls_fieldcat-seltext_s = 'Old Serial'.
ls_fieldcat-seltext_m = 'Old Serial'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'VBELV'.
ls_fieldcat-seltext_s = 'Invoice'.
ls_fieldcat-seltext_m = 'Invoice'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'INVVALUE'.
ls_fieldcat-seltext_s = 'Invoice Amt'.
ls_fieldcat-seltext_m = 'Invoice Value'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'QMNUM'.
ls_fieldcat-seltext_s = 'Notification'.
ls_fieldcat-seltext_m = 'Notification'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'QMCOD'.
ls_fieldcat-seltext_s = 'Rep LevKST'.
ls_fieldcat-seltext_m = 'Repair Level KST'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'COTXT'.
ls_fieldcat-seltext_s = 'CdTXT KST'.
ls_fieldcat-seltext_m = 'Repair Level Text KST'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'QMCOL'.
ls_fieldcat-seltext_s = 'Rep LevKSE'.
ls_fieldcat-seltext_m = 'Repair Level KSE'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
pos = pos + 1.
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'KTTXT'.
ls_fieldcat-seltext_s = 'CdTXT KSE'.
ls_fieldcat-seltext_m = 'Repair Level Text KSE'.
APPEND ls_fieldcat TO rt_fieldcat.
CLEAR ls_fieldcat.
ENDFORM. "fieldcat_init
Data selection
FORM select_data TABLES rt_outtab LIKE gt_outtab[].
CLEAR: r_vbeln[].
Read all Invoices for the Selection
SELECT DISTINCT h~vbeln h~kunnr h~kunag
d~posnr d~matnr d~anzsn
d~serail d~vgbel d~vgpos
d~posnv d~lfimg d~arktx
d~uecha h~lfart h~erdat
h~ernam h~lfdat d~prodh
h~vkorg d~vkbur d~vkgrp
d~mvgr1 h~wadat_ist d~pstyv
d~werks
INTO (rt_outtab-vbeln, rt_outtab-kunnr,
rt_outtab-kunag, rt_outtab-posnr,
rt_outtab-matnr, rt_outtab-anzsn,
rt_outtab-serail, rt_outtab-vgbel,
rt_outtab-vgpos, rt_outtab-posnv,
rt_outtab-lfimg, rt_outtab-arktx,
rt_outtab-uecha, rt_outtab-lfart,
rt_outtab-erdat, rt_outtab-ernam,
rt_outtab-lfdat, rt_outtab-prodh,
rt_outtab-vkorg, rt_outtab-vkbur,
rt_outtab-vkgrp, rt_outtab-mvgr1,
rt_outtab-wadat, rt_outtab-pstyv,
rt_outtab-werks)
FROM likp AS h INNER JOIN lips AS d
ON h~vbeln = d~vbeln
WHERE h~vbeln IN s_vbeln
AND h~vkorg IN s_vkorg
AND h~lfart IN s_lfart
AND h~kunnr IN s_kunnr
AND h~wadat IN s_wadat
AND d~matnr IN s_matnr
AND d~werks IN s_werks
AND d~prodh IN s_prodh
AND d~vgbel IN s_vbelv
AND d~matnr LIKE 'S%'.
SELECT SINGLE * FROM vbak WHERE vbeln = rt_outtab-vgbel.
IF: sy-subrc EQ 0.
MOVE vbak-vbeln TO rt_outtab-vgbel.
MOVE vbak-auart TO rt_outtab-auart.
ENDIF.
SELECT SINGLE * FROM mara WHERE matnr = rt_outtab-matnr
AND mtart EQ 'FERT'.
CHECK sy-subrc EQ 0.
IF NOT rt_outtab-posnv IS INITIAL.
rt_outtab-vgpos = rt_outtab-posnv.
ENDIF.
CLEAR: vbfa.
SELECT SINGLE vbeln posnn rfwrt INTO
(rt_outtab-vbelv, rt_outtab-posnn, rt_outtab-netwr)
FROM vbfa WHERE vbelv EQ rt_outtab-vbeln
AND posnv EQ rt_outtab-posnr
AND vbtyp_n EQ 'M'.
CLEAR : rt_outtab-invvalue.
SELECT SINGLE * FROM vbrp WHERE vbeln = rt_outtab-vbelv
AND posnr = rt_outtab-posnn.
rt_outtab-fkimg = vbrp-fkimg.
IF rt_outtab-fkimg NE 0.
rt_outtab-invvalue = rt_outtab-netwr / rt_outtab-fkimg.
ENDIF.
APPEND rt_outtab.
IF NOT r_vbeln-low IS INITIAL.
IF r_vbeln-low GT rt_outtab-vbeln.
r_vbeln-low = rt_outtab-vbeln.
ENDIF.
IF r_vbeln-high LT rt_outtab-vbeln.
r_vbeln-high = rt_outtab-vbeln.
ENDIF.
ELSE.
r_vbeln-low = rt_outtab-vbeln.
r_vbeln-high = rt_outtab-vbeln.
ENDIF.
CLEAR: rt_outtab.
ENDSELECT.
IF NOT rt_outtab[] IS INITIAL.
SELECT vbeln posnr bstkd INTO CORRESPONDING FIELDS OF TABLE gt_vbkd
FROM vbkd
FOR ALL ENTRIES IN rt_outtab
WHERE vbeln = rt_outtab-vgbel
AND posnr = rt_outtab-vgpos.
IF NOT gt_vbkd[] IS INITIAL.
SORT gt_vbkd BY vbeln posnr.
LOOP AT rt_outtab.
READ TABLE gt_vbkd WITH KEY vbeln = rt_outtab-vgbel
posnr = rt_outtab-vgpos
BINARY SEARCH.
IF sy-subrc = 0.
rt_outtab-bstkd = gt_vbkd-bstkd.
MODIFY rt_outtab.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
*select bstkd INTO CORRESPONDING FIELDS OF TABLE gt_vbkd
from vbkd where vbeln = gt_outtab-vbeln
and posnr = '000000'.
rt_outtab-bstkd = vbkd-bstkd .
SELECT single bstkd INTO CORRESPONDING FIELDS OF gt_vbkd
FROM vbkd WHERE vbeln = gt_vbkd-vbeln
AND posnr = '000000'.
rt_outtab-bstkd = gt_vbkd-bstkd.
APPEND rt_outtab.
IF NOT r_vbeln IS INITIAL.
MOVE: 'I' TO r_vbeln-sign,
'BT' TO r_vbeln-option.
APPEND r_vbeln.
SELECT * INTO CORRESPONDING FIELDS OF TABLE i_serial
FROM ser01 WHERE lief_nr IN r_vbeln.
ENDIF.
SORT i_serial.
IF NOT i_serial[] IS INITIAL.
SELECT * INTO CORRESPONDING FIELDS OF TABLE i_object_numbers
FROM objk
FOR ALL ENTRIES IN i_serial
WHERE obknr EQ i_serial-obknr
AND taser EQ 'SER01'.
ENDIF.
SORT i_object_numbers BY obknr obzae.
LOOP AT rt_outtab.
CLEAR: rt_outtab-name1, rt_outtab-sernr, rt_outtab-lfimg,
rt_outtab-sernp, rt_outtab-kttxt.
Read the Sold To Name
SELECT SINGLE name1 INTO rt_outtab-name1
FROM kna1 WHERE kunnr EQ rt_outtab-kunnr.
Read Ship-to Customer
CLEAR: objk.
IF NOT rt_outtab-serail IS INITIAL.
READ TABLE i_serial WITH KEY lief_nr = rt_outtab-vbeln
posnr = rt_outtab-posnr.
IF sy-subrc EQ 0.
DO i_serial-anzsn TIMES.
CLEAR: rt_outtab-sernr, rt_outtab-sernp.
READ TABLE i_object_numbers WITH KEY obknr = i_serial-obknr
matnr = rt_outtab-matnr
BINARY SEARCH.
IF sy-subrc EQ 0.
rt_outtab-sernr = i_object_numbers-sernr.
DELETE i_object_numbers INDEX sy-tabix.
MOVE '1' TO rt_outtab-lfimg.
CLEAR: rt_outtab-aufnr, rt_outtab-qmnum,
rt_outtab-equnr, rt_outtab-qmcod, g_mngrp, g_mnkat.
SELECT SINGLE aufnr qmnum equnr qmcod qmgrp qmkat
INTO (rt_outtab-aufnr, rt_outtab-qmnum,
rt_outtab-equnr, rt_outtab-qmcod, g_mngrp, g_mnkat)
FROM viqmel WHERE matnr = rt_outtab-matnr
AND serialnr = rt_outtab-sernr
AND qmart EQ 'S4'
AND qmnum IN s_qmnum.
CLEAR: rt_outtab-cotxt.
SELECT SINGLE kurztext INTO rt_outtab-cotxt
FROM qpct WHERE katalogart EQ g_mnkat
AND codegruppe EQ g_mngrp
AND code EQ rt_outtab-qmcod
AND sprache EQ sy-langu.
Read Serial Number from Name Plate Data.
CLEAR: klah, kssk, ausp, cabn, g_atinn.
SELECT SINGLE atinn INTO (g_atinn) FROM cabn
WHERE atnam = 'SBANK_SERIAL_NUMBER'.
SELECT SINGLE atwrt
INTO (rt_outtab-sernp)
FROM ( klah AS a INNER JOIN kssk AS k
ON aclint = kclint )
JOIN ausp AS p
ON kobjek = pobjek
AND p~atinn = g_atinn
AND pklart = aklart
WHERE a~klart = '002'
AND a~class = 'KSE_SN_ENDOSCOPES'
AND k~objek = rt_outtab-equnr.
*KSE Repair level (activity code text from KSE-SM07 code group)
CLEAR: rt_outtab-qmcol, g_mngrp, g_mnkat.
CLEAR: rt_outtab-qmcol.
CLEAR: g_mnkat, g_mngrp.
SELECT SINGLE mnkat mngrp mncod INTO
(g_mnkat, g_mngrp, rt_outtab-qmcol)
FROM viqmma WHERE qmnum = rt_outtab-qmnum
AND mngrp EQ 'KSE-SM07'
AND kzloesch EQ space.
CLEAR: rt_outtab-kttxt.
SELECT SINGLE kurztext INTO rt_outtab-kttxt
FROM qpct WHERE katalogart EQ g_mnkat
AND codegruppe EQ g_mngrp
AND code EQ rt_outtab-qmcol
AND sprache EQ sy-langu.
rt_outtab1 = rt_outtab.
APPEND rt_outtab1.
ENDIF.
ENDDO.
ENDIF.
ENDIF.
ENDLOOP.
CLEAR: rt_outtab[].
rt_outtab[] = rt_outtab1[].
SORT rt_outtab BY vbeln posnr.
ENDFORM.
FORM get_repname *
--> P_VBELN *
--> P_POSNR *
--> P_PERNR *
--> P_ENAME *
FORM get_repname USING p_vbeln
p_posnr
CHANGING p_pernr
p_ename. "
DATA: i_vbpa LIKE vbpa OCCURS 0 WITH HEADER LINE.
CLEAR: i_vbpa[].
CALL FUNCTION 'Z_DETERMINE_ACTIVE_SALES_REP'
EXPORTING
g_salesdocument = p_vbeln
g_sales_item = p_posnr
TABLES
st_vbpa = i_vbpa.
READ TABLE i_vbpa INDEX 1.
IF sy-subrc = 0.
p_pernr = i_vbpa-pernr.
SELECT SINGLE ename INTO p_ename
FROM pa0001
WHERE pernr = i_vbpa-pernr.
ENDIF.
ENDFORM. " get_repname
FORM E03_EVENTTAB_BUILD *
--> E03_LT_EVENTS *
FORM e03_eventtab_build USING e03_lt_events TYPE slis_t_event.
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = e03_lt_events.
READ TABLE e03_lt_events WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE gc_formname_top_of_page TO ls_event-form.
APPEND ls_event TO e03_lt_events.
ENDIF.
ENDFORM.
FORM TOP_OF_PAGE *
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = gt_list_top_of_page.
ENDFORM.
*& Form USER_COMMAND
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
PERFORM display_delivery USING r_ucomm
rs_selfield.
ENDCASE.
ENDFORM.
*& Form display_delivery
FORM display_delivery
USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE rs_selfield-sel_tab_field.
WHEN '1-VBELN'.
SET PARAMETER ID 'VL' FIELD rs_selfield-value.
CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN.
WHEN '1-VBELV'.
SET PARAMETER ID 'VF' FIELD rs_selfield-value.
CALL TRANSACTION 'VF03N' AND SKIP FIRST SCREEN.
ENDCASE.
ENDFORM.
*& Form VARIANT_INIT
text
--> p1 text
<-- p2 text
FORM variant_init.
CLEAR g_variant.
g_variant-report = g_repid.
ENDFORM. " VARIANT_INIT
*& Form F4_FOR_VARIANT
text
--> p1 text
<-- p2 text
FORM f4_for_variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = g_variant
i_save = g_save
it_default_fieldcat =
IMPORTING
e_exit = g_exit
es_variant = gx_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 2.
MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
IF g_exit = space.
p_vari = gx_variant-variant.
ENDIF.
ENDIF.
ENDFORM.
*& Form PAI_OF_SELECTION_SCREEN
text
FORM pai_of_selection_screen.
IF NOT p_vari IS INITIAL.
MOVE g_variant TO gx_variant.
MOVE p_vari TO gx_variant-variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
i_save = g_save
CHANGING
cs_variant = gx_variant.
g_variant = gx_variant.
ELSE.
PERFORM variant_init.
ENDIF.
ENDFORM. -
Adding new records in output based on extracted data
Hi Experts,
Good day!
I'm still having a problem with my material hitorical data project. I have a requirements in our historical data of material price which adding data that are not existing based on data extracted from standard tables such as A004 and KONP.
Now, i need to use the VALIDFROM (DATAB) as well as VALIDTO(DATBI) value as basis for the latest price.
To make it more clear, see the example below:
Extracted data:
Material Number Valid From Valid to Price
100101 01/01/2008 02/01/2008 100.00
100101 02/02/2008 04/02/2008 100.00
100101 04/03/2008 08/01/2008 200.00
100101 08/02/2008 01/31/2009 300.00
100102 05/02/2008 07/01/2008 10.00
100102 07/02/2008 10/31/2008 15.00
100102 11/01/2008 01/31/2009 20.00
Output:
Material Number Calmonth Price
100101 01/2008 100.00
100101 02/2008 100.00
100101 03/2008 100.00
100101 04/2008 200.00
100101 05/2008 200.00
100101 06/2008 200.00
100101 07/2008 200.00
100101 08/2008 300.00
100101 09/2008 300.00
100101 10/2008 300.00
100101 11/2008 300.00
100101 12/2008 300.00
100101 01/2009 300.00
100102 05/2008 10.00
100102 06/2008 10.00
100102 07/2008 15.00
100102 08/2008 15.00
100102 09/2008 15.00
100102 10/2008 15.00
100102 11/2008 20.00
100102 12/2008 20.00
100102 01/2009 20.00
Text that are in bold are the added data. What is the best code to do with this?
How can i come up with this output? Help me please guys....
Thanks and Godbless,
nips
Edited by: Nips on Jan 18, 2009 4:23 AMhi,
I havenot created such program before but i think the logic shud work.
I have refined the logic take a look at it.
DATA: d1 like sy-datum VALUE '11012008', "dates in internal format
d2 LIKE sy-datum VALUE '01012008', "dates in internal format
mon TYPE i,
v_mon TYPE i,
v_year TYPE char4
v_date type char6.
CALL FUNCTION 'MONTHS_BETWEEN_TWO_DATES'
EXPORTING
i_datum_bis = d1
i_datum_von = d2
I_KZ_INCL_BIS = ' '
IMPORTING
E_MONATE = mon
IF mon > 0.
v_mon = wa1-validfrom+0(2).
v_year = wa1-validfrom+4(4).
ENDIF.
do mon times.
CONCATENATE v_mon '/' v_year INTO v_date.
wa2-matnr = wa1-matnr.
wa2-calmonth = v_date.
wa2-price = wa1-price.
append wa2 to itab2.
v_mon = v_mon + 1.
enddo.
endloop.
кu03B1ятu03B9к -
Adding fields to ALV output list in Tcode S_ALR_87012357
Hi,
I need your help to insert new fields in output at standard t-code S_ALR_87012357 for GST Report.
Report name is RFUMSV00.
The add/insert columns are
1)Vendor Description,
2)SGD Gross Amt(100% tax Reporting curr)
3)SGD Tax Base Amt(100% Tax Reporting curr),
4)SGD Input Tax(7% Tax Reporting curr) and
5) Value(100%Vendor Curr)
Could anyone help me how to do this.
Thanks,
ShabareeshChanging the field catalog should not add the new fields required in internal table (e.g. structure RFUMS_TAX_ITEM for items)
You could try to append a structure to those, and fill its value with FI_TAX_BADI_011 ?
Regards,
Raymond
PS: List of BAdI for this report
FI_TAX_BADI_010
RFUMSV00: Events for List Output Using ALV
FI_TAX_BADI_011
RFUMSV00: Event 'APPEND' for Line Item Lists
FI_TAX_BADI_012
RFUMSV00: Event 'GET bkpf LATE' during Selection
FI_TAX_BADI_013
RFUMSV00: Set Parameters for DME Tool (Tree Type UMS1)
FI_TAX_BADI_014
RFUMSV00: Field Catalog of Output Lists for ALV
FI_TAX_BADI_015
RFUMSV00: Event "END-OF-SELECTION" before Data File Creation
FI_TAX_BADI_016
RFUMSV00: Transfer of All Tax Data -
Adding namespace to XML output
Hi,
I have a requirement to generate a XML document for columns in the table. I am using DBMS_XMLgen.getXML inside my procedure to get the XML document.
The output which i get after executing my procedure is:
<?xml version="1.0"?>
<EMP>
<EMPLOYEE_NO>000017</EMPLOYEE_NO>
<EMPLOYEE_STATUS>ACTIVE</EMPLOYEE_STATUS>
<NAME_LAST>Mini</NAME_LAST>
<NAME_FIRST/>
</EMP>
But I also need namespace prefix and namespace uri in this xml output. Is there a way to add namespace prefix and namespace uri to this xml output.
So what i need is something like below one:
<?xml version="1.0"?>
<xs:EMP>xmlns:out="http://xmlns:out="http:/example.org/ver1.0/ThisISTest#">
<xs:EMPLOYEE_NO>000017</xs:EMPLOYEE_NO>
<xs:EMPLOYEE_STATUS>ACTIVE</xs:EMPLOYEE_STATUS>
<xs:NAME_LAST>Mini</xs:NAME_LAST>
<xs:NAME_FIRST/>
</xs:EMP>
Any solutions or sample code on this would be of great help.
Thanks in Advance.Hi,
IMO, the best option is to use an XSL transformation "on the fly" with DBMS_XMLGEN.
Here's a stylesheet that should work (change namespace and prefix to yours) :
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://test">
<xsl:template match="*">
<xsl:element name="ns0:{local-name()}">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>Right now, I only have a 10gR1 at my disposal and the transformation doesn't give expected results (there are a few known issues with XSLT on 10g).
However, I could test it with an external processor (saxon9he) and it should work OK in 11g too.
So, in your procedure, all you have to do is declare the XSLT document :
xsldoc xmltype := xmltype(
'<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://test">
<xsl:template match="*">
<xsl:element name="ns0:{local-name()}">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>'
);and bind the stylesheet to the context :
DBMS_XMLGEN.setrowsettag (messagehandle_xml, 'EMP');
DBMS_XMLGEN.setrowtag (messagehandle_xml, NULL);
DBMS_XMLGEN.setmaxrows (messagehandle_xml, 2);
DBMS_XMLGEN.setNullHandling(messagehandle_xml, DBMS_XMLGEN.EMPTY_TAG);
DBMS_XMLGEN.setXSLT(messagehandle_xml, xsldoc); -- < here
...Let me know if it works :) -
Adding new feild in VA01- TAB= Procurement
Hi
I got a requirement to add a new feild in the TAB=>Procurement for T-code VA01/02=> sales order.
Please give the required inputs on doing this change .
Regards
SriHi,
Check these notes:
SAP Note 209278 - Display of customer-specific fields in sales doc
SAP Note 302497 - Additional cust. fields not displayed in 'Additional data B'
SAP Note 386694 - Additional data not displayed in screen 8459 and 8309
SAP Note 420546 - Additional data B and transaction variants in sales order
and related notes.
I hope this helps you
Regards
Eduardo -
Adding new field in output layout in transaction ME2N
I would like to know if it is possible to add new fields in the output layout of transaction ME2N. For example field EKPO-AFNAM (Requisitioner) that in the standard layout is not used.
Thanks a lot
MelihDear Melih,
We can do.add some functions.In this way SAP provided some dynamic search strategeis.you can use other wise create through variant cofiguration.
press SHIFT+F4 will apper dynamic selection tab there you can select some search strategeis.
Hope this can helps you
Prem. -
Hello All,
When a new field is added in WEB UI 7.0 does it create same field in the backend (GUI)?
For example if I add XYZ filed in service transaction is the same field replicated on GUI.Hi,
Have you checked in the configuration settings available on the UI.
AET icon is available in every role. You need to TICK it in the personlise settings page on the top right corner.
Hope that helps.
Rgds
Vishal -
How to add comment in xml output.
I have to replace the default comment in the xml output.
If i use SRW.ADD_DEFINITION, Its not working.
Can any on guide me through this to achieve it.i have written the following code in after parameter form. In the data model i am selecting empno and empname. Now i have to generate an xml which has the comment "Internal purpose only". I have to dynamically change the tag names also. But this code throws an error
REP-0069:Internal error
REP-57054: In-Process job terminated:Terminated with error
REP-866648059:Error in the xml report definition at line 3 in
Invalid element 'source' in content of 'section',expected elements '[tabular,groupAbove,groupLeftinsideAbove....]
-------------------------------------------------------code----------------------------
SRW.ADD_DEFINITION('<report name="Employee"
author="Generated" DTDVersion="9.0.2.0.0"> <!-- Internal purpose only-->');
SRW.ADD_DEFINITION('<layout>');
SRW.ADD_DEFINITION('<section name="main">');
SRW.ADD_DEFINITION('<source="empno">');
SRW.ADD_DEFINITION('<source="empname" >');
SRW.ADD_DEFINITION('</section>');
SRW.ADD_DEFINITION('</layout>');
SRW.ADD_DEFINITION('</report>');
SRW.APPLY_DEFINITION; -
Adding fiedls in VA05 output list
Hi,
I want add some fields in VA05 output list , please help in this regard.
Netaji.BHello All,
Assume you want to add VBAK-VSBED to the VA05 ALV o/p. You may proceed as follows:
First add this field to structure VBMTV. Proceed as follows:
1. Table VBMTV: Replace the dummy field with VSBED in Include VBMTVZ.
2. Table T180A: Add a new data record via Transaction SE16.
TBNAM = 'VBMTV'
FDNAM = 'VSBED'
ZUART = 'D'
3. Update of VSBED:User exit PERFORM MOVE_USERFIELDS USING 'VBAK' in
LV05TFMO, Include V05TZZMO add the following line behind
WHEN 'VBAK':
MOVE LVBAK-VSBED TO LVBMTV-VSBED. <-- Insert
4. Activate Include V05TZZMO.
5. If then, you log on to the system again and call up Transaction VA05
the system displays 'Shipping Cond' field.
Regards,
Asmita...
Maybe you are looking for
-
Sales orders are not shown within the ICWeb Account Fact Sheet
Hi experts. We're having problems with the account fact sheet on the ICWeb. Even though our test customer has sale orders assigne when we select Order History, the fact sheet shows no data. Nevertheless, when we press button new order and then Order
-
I have recently purchased a second hand G5 from an advertising agency I work for sometimes and was thinking of using an lcd monitor until i can afford an apple led cinema display. I have a recently bought samsung LS19CFEKF/EN at home and was wonderin
-
Looking for some RAID storage ideas...can anyone help?
Hi, I'm looking for some recommendations out there. I'm going to be getting a new PowerMac tower with a cinema display and will also be looking to get some RAID-type storage for it so that I can do lots of video editing and photo storage. Ideally, I'
-
File to IDOC Senario (Message Mapping)
Hi Experts, I am a fresher. This is " File to IDOC Senario ". I have Doubt on this: ( In Message Mapping) Source field : MSG Length : 1/264 Taget field : E1EDKT2 - TDLINE Legth : CHAR/70 Mapping Condition : Note: TDFORMAT = '=' (Long Line), until
-
i am reading macworld it gives this www.apple.com/macosx/features/300.html to view the 300 new features but can't open.Does anyone know where i can get info on the new features