Doc Detail LineNumber
Hi, I have a case
There are 3 related Doc : PO - GRPO - LandedCost, let say there is 1 Line Itemcode "A"
LineNumber for Item A on PO is 0
LineNumber for Item A on GRPO is 1
LineNumber for Item A on LandedCost is 0
WHY it is different on GRPO linenumber, this makes my queries result a blank field since I use LineNumber on one of my link field.
IF I change the detail line on GRPO and it Change the linenumber to 1 then IT SHOULD be the same on Landedcost since Landedcost is copyfrom GRPO.
I am using SAP B1 9.0 for HANA
Is this another HANA bugs on SAP B1 ?
Rgds,
Hi,
Verified in 8.81 version is that, PO and GRPO line numbers are same.
Thanks & Regards,
Nagarajan
Similar Messages
-
Hi,
How to see the purchase order history for schedule agreemnt pos. ie. i want to see the GR and LIV doc details frm SA po nbr??? pls suggesthi,
u will get in EKBE table
go to ME33, select the line item and pres PO history tab -
How to get recurring revenue doc details from SAP
Hi Experts,
We have a custom report which displays Geo Quest commission details.
Now user requested this report should include recurring revenue doc also.
please suggest how to get recurring revenue docs, what are the tables used to get recurring revenue docs.
Thanks in advance.
Bhushan
Edited by: bhushan Reddy on Mar 9, 2011 4:57 PMhi..
May be tried as follows:
1.Select doc type (Billing doc ) in Table BKPF to find accounting documents
2. Pass the accounting documents in Table BSEG
Filter as per your requirements.
kkumar -
Account Maintenance Doc Details
Hello Experts,
I need to know the table names where can I view the header levels, line item level and other details of account maintenance documents posted in PO history.
Please let us know possibly all the table name where details of account maintenance docs can be viewed.
Thanks And Regards,
Krupesh Kothari.Hi,
Search table EKBE. It basically stores PO history details.
Search records based on document category field in this table. -
Help doc detail cannot be read
Hi, could any one help me for this simple question?
I just install the JDeveloper on Window XP with jdk1.4.0. Everything seems fine upto running stage. but I haven't start any project as I am new. But when I want to read the Help document. Only the topic can be list in the left of Navigation Window. But blank window with any click on the topic detail?
Thanks advance!Hi, could any one help me for this simple question?
I just install the JDeveloper on Window XP with jdk1.4.0. Everything seems fine upto running stage. but I haven't start any project as I am new. But when I want to read the Help document. Only the topic can be list in the left of Navigation Window. But blank window with any click on the topic detail?
Thanks advance! It sounds to me like you installed the base version of JDeveloper 9.0.2 and you are behind a firewall. If so, have you set your proxy? If you haven't, set it by selecting Preferences from the Tools menu, then in the dialog that opens, click on Web Proxy and set it to your HTTP proxy.
Let me know if that helps.
SteveA (JDev Team) -
Any way to get better error info than connection doc detail?
I just switched my website to a new host. I set up all the same emails that I had set up on my old host, which had all worked just fine - it's 20 email accounts on one domain, all with different passwords.
Mail is choking for some reason, and we can't figure out why. It is able to check the mail successfully if I check it individually by control-clicking on the account, and it can check the mail for a couple of the accounts at a time, but it isn't able to check all the accounts successfully anymore. The tech support people thought it might be DNS related, so we've fixed all that but it's not helping.
They couldn't help me any further because the information from Connection Doctor detail didn't clarify what was wrong. There was no error beyond the error of not being able to connect.
SO.... using terminal or something more complicated, is there a way to find any information about exactly what the problem is that Mail is having?
I'm on Snow leopard.Please clarify -- you get the error in Connection Doctor on the Incoming server, but despite that you can actually download some messages? Is there also an error regarding the SMTP?
Mail is picky about the form of Username, and you must know whether the server requires the form of Username as portion of the email address in front of the @, or the entire email address enter as Username.
More info, please, including whether the accounts are set up as IMAP or POP?
Ernie -
Hi guys,
I need your assistance to know the Table names and the corresponding keys for the following fields.
We want to develop a report that has the following fields(ABC) .
The report needs the following details in an Inquiry(A) ,if a Quotation exist for the same need the following Quotation detail(B) ,if Sales order Exist for the Quotation(C) ,need the Following Sales Doc. details.
A.Inquiry details .Fileds needed
1. Inquiry Date
2.created by
3.closing date/Due date
4.Estimated Value
5.Customer
6.Material.
B.Quotation.
1.Quotation date
2.Quotation Amount
3.Created by
4.Reason for Rejection/Status fo Quotation
C.Sales Document
1.Sales Order On.
2.Amount.
3.Status.
4.good delivered date
Regards.hi
A.Inquiry details .Fileds needed
1. Inquiry Date
2.created by
3.closing date/Due date
4.Estimated Value
5.Customer
6.Material.
B.Quotation.
1.Quotation date
2.Quotation Amount
3.Created by
4.Reason for Rejection/Status fo Quotation
All ABove you can get in VBAP table
C.Sales Document
1.Sales Order On. - VBAK
2.Amount. - VBAK / VBAP
3.Status. What status you are looking for?
4.good delivered date - VBEP -
Hi,
How to see the purchase order history for schedule agreemnt pos. ie. i want to see the GR and LIV doc details frm SA po nbr??? pls suggestsorry, wrongly posted in wf
-
Parsing XML file & insert into Oracle Tables
Hi,
Following is a sample xml file which is an input for a oracle procedure :
<Sales ID="1" CreatedDate="16-Jan-2007" CreatedTime="16:09:40">
<Customer ID="1" Name="Scott" Address="City1">
<Order ID="1" Date="15-Jan-2007" TotItems="2" Value="200">
<Item ID="01" Name="Chocolate" Qty="2" Amount="80" />
<Item ID="03" Name="Biscuit" Qty="5" Amount="120" />
</Order>
</Customer>
<Customer ID="2" Name="Tiger" Address="City2">
<Order ID="1" Date="15-Jan-2007" TotItems="1" Value="500">
<Item ID="01" Name="Pizza" Qty="3" Amount="500" />
</Order>
</Customer>
<User ID="ABC" Name="TestUser" LastLogin="16-Jan-2007" />
<City Code="NY" Name="New York" />
<City Code="NJ" Name="New Jersy" />
</Sales>
I have individual tables for Sales, Customer, Order, Item, User & City tags with proper referential constraints. I have to parse the xml & have to insert the corresponsing tables for each & every tag if the ID in individual tag does not exists in the table. If the ID already exist, then, I have to update other attributes in the table for the corresponding ID.
Can anyone suggest me the simplest way to perform the above said scenario?Dera Michael,
Sorry for the confusing previous reply. I went through your solution again and tried for my XML File.
I have stored the XML File in table XXLF_DS_XML.Should I make use of the table in the below query.
Here is my SQL Query erroring Out
SQL> SELECT EXTRACTVALUE(s.COLUMN_VALUE,
2 '/Header@orderID') ID
3 ,EXTRACTVALUE(c.COLUMN_VALUE,
4 '/Detail@lineNumber') lienum
5 ,EXTRACTVALUE(t.COLUMN_VALUE,
6 '/Detail/Tax@currency') currency
7 ,EXTRACTVALUE(t.COLUMN_VALUE,
8 '/Detail/Tax/Money') customer_name
9 FROM TABLE(XMLSEQUENCE(EXTRACT(XMLTYPE('- <Recordset>
10 - <Header dueDate="2007-01-17T16:09:05" orderDate="2004-01-17" orderID="0009" transactionID="1389"
type="new">
11 <KeyIndex>2</KeyIndex>
12 - <BillTo>
13 - <Address addressID="5619" isoCountryCode="US">
14 <Name>fMat</Name>
15 - <PostalAddress name="default">
16 <Street>34545</Street>
17 <City>dfgfg</City>
18 <State>AZ</State>
19 <PostalCode>85086-1693</PostalCode>
20 <County>Maricopa</County>
21 <Country>US</Country>
22 </PostalAddress>
23 <Email name="default">[email protected]</Email>
24 </Address>
25 </BillTo>
26 <PromotionCode />
27 - <SubTotal>
28 <Money currency="USD">32.49</Money>
29 </SubTotal>
30 - <Tax>
31 <Money currency="USD">2.32</Money>
32 <Description />
33 </Tax>
34 - <Shipping>
35 <Money currency="USD">8.95</Money>
36 <Description />
37 </Shipping>
38 </Header>
39 - <Detail lineNumber="1" quantity="1">
40 - <ItemDetail>
41 - <UnitPrice>
42 <Money currency="USD">29.99</Money>
43 </UnitPrice>
44 <ShortName>Little;reg; pxxxx® Learning System</ShortName>
45 </ItemDetail>
46 - <Tax>
47 <Money currency="USD">1.68</Money>
48 <Description />
49 - <TaxDetail category="sales">
50 - <TaxAmount>
51 <Money currency="USD">1.68</Money>
52 </TaxAmount>
53 <TaxLocation>AZ</TaxLocation>
54 </TaxDetail>
55 </Tax>
56 </Detail>
57 - <Detail lineNumber="2" quantity="1">
58 - <ItemDetail>
59 - <UnitPrice>
60 <Money currency="USD">29.99</Money>
61 </UnitPrice>
62 <ShortName>Little;reg; pxxxx® Learning System</ShortName>
63 </ItemDetail>
64 - <Tax>
65 <Money currency="USD">1.68</Money>
66 <Description />
67 - <TaxDetail category="sales">
68 - <TaxAmount>
69 <Money currency="USD">1.68</Money>
70 </TaxAmount>
71 <TaxLocation>AZ</TaxLocation>
72 </TaxDetail>
73 </Tax>
74 - <Tax>
75 <Money currency="USD">0.68</Money>
76 <Description />
77 - <TaxDetail category="sales">
78 - <TaxAmount>
79 <Money currency="USD">0.68</Money>
80 </TaxAmount>
81 <TaxLocation>DISTRICT</TaxLocation>
82 </TaxDetail>
83 </Tax>
84 </Detail>
85 </Recordset>'),'/Recordset/Header'))) s
86 ,TABLE(XMLSEQUENCE(EXTRACT(c.COLUMN_VALUE,
87 '/Recordset/Detail'))) c
88 ,TABLE(XMLSEQUENCE(EXTRACT(t.COLUMN_VALUE,
89 '/Recordset/Detail/Tax'))) t
90 /
,TABLE(XMLSEQUENCE(EXTRACT(c.COLUMN_VALUE,
ERROR at line 86:
ORA-00904: "C"."COLUMN_VALUE": invalid identifier
Here is my XML Data
<Recordset>
<Header dueDate="2007-01-17T16:09:05" orderDate="2004-01-17" orderID="0009" transactionID="1389"
type="new">
<KeyIndex>2</KeyIndex>
<BillTo>
<Address addressID="5619" isoCountryCode="US">
<Name>fMat</Name>
<PostalAddress name="default">
<Street>34545 </Street>
<City>dfgfg</City>
<State>AZ</State>
<PostalCode>85086-1693</PostalCode>
<County>Maricopa</County>
<Country>US</Country>
</PostalAddress>
<Email name="default">[email protected]</Email>
</Address>
</BillTo>
<PromotionCode/>
<SubTotal>
<Money currency="USD">32.49</Money>
</SubTotal>
<Tax>
<Money currency="USD">2.32</Money>
<Description/>
</Tax>
<Shipping>
<Money currency="USD">8.95</Money>
<Description/>
</Shipping>
</Header>
<Detail lineNumber="1" quantity="1">
<ItemDetail>
<UnitPrice>
<Money currency="USD">29.99</Money>
</UnitPrice>
<ShortName>Little;reg; pxxxx® Learning System </ShortName>
</ItemDetail>
<Tax>
<Money currency="USD">1.68</Money>
<Description/>
<TaxDetail category="sales">
<TaxAmount>
<Money currency="USD">1.68</Money>
</TaxAmount>
<TaxLocation>AZ</TaxLocation>
</TaxDetail>
</Tax>
</Detail>
<Detail lineNumber="2" quantity="1">
<ItemDetail>
<UnitPrice>
<Money currency="USD">29.99</Money>
</UnitPrice>
<ShortName>Little;reg; pxxxx® Learning System </ShortName>
</ItemDetail>
<Tax>
<Money currency="USD">1.68</Money>
<Description/>
<TaxDetail category="sales">
<TaxAmount>
<Money currency="USD">1.68</Money>
</TaxAmount>
<TaxLocation>AZ</TaxLocation>
</TaxDetail>
</Tax>
<Tax>
<Money currency="USD">0.68</Money>
<Description/>
<TaxDetail category="sales">
<TaxAmount>
<Money currency="USD">0.68</Money>
</TaxAmount>
<TaxLocation>DISTRICT</TaxLocation>
</TaxDetail>
</Tax>
</Detail>
</Recordset>
Thanks -
Hi, I am unable to update the Business Area .
I have some blank Busines Areas i should update the Business Area line items same as According to the belnr(header)
REPORT zfir_vendorwise_grir_balances NO STANDARD PAGE HEADING
LINE-SIZE 142
LINE-COUNT 65.
TABLES: bsis,bkpf,bseg,ekko,lfa1.
TYPE-POOLS: slis.
CONSTANTS:
gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,
gs_layout TYPE slis_layout_alv ,
gs_print TYPE slis_print_alv,
gt_sort TYPE slis_t_sortinfo_alv ,
gt_filter TYPE slis_t_filter_alv,
gt_sp_group TYPE slis_t_sp_group_alv,
gt_alv_graphics TYPE dtc_t_tc,
gt_excluding TYPE slis_t_extab ,
gt_events TYPE slis_t_event .
DATA: g_repid LIKE sy-repid.
DATA: gt_list_top_of_page TYPE slis_t_listheader.
DATA: g_boxnam TYPE slis_fieldname VALUE 'BOX',
p_f2code LIKE sy-ucomm VALUE '&ETA',
p_lignam TYPE slis_fieldname VALUE 'LIGHTS',
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_user_command(30) VALUE 'USER_COMMAND'.
DATA : g_status_set(30) VALUE 'PF_STATUS_SET'.
DATA: BEGIN OF it_final OCCURS 0,
awkey TYPE awkey,
grir(10) TYPE c,
bukrs LIKE bsis-bukrs,
hkont LIKE bsis-hkont,
gjahr LIKE bsis-gjahr,
belnr LIKE bsis-belnr,
budat LIKE bsis-budat,
waers LIKE bsis-waers,
xblnr LIKE bsis-xblnr,
blart LIKE bkpf-blart,
buzei like bseg-buzei,
bschl LIKE bseg-bschl,
shkzg LIKE bseg-shkzg,
gsber LIKE bseg-gsber,
dmbtr LIKE bseg-dmbtr,
wrbtr LIKE bsis-wrbtr,
sgtxt LIKE bseg-sgtxt,
ebeln LIKE bseg-ebeln,
lifnr LIKE ekko-lifnr,
ps_psp_pnr LIKE ekkn-ps_psp_pnr,
name1 LIKE addr1_data-name1,
END OF it_final.
DATA : it_po LIKE it_final OCCURS 0 WITH HEADER LINE.
DATA : it_ebeln LIKE it_final OCCURS 0 WITH HEADER LINE.
DATA : it_awkey LIKE it_final OCCURS 0 WITH HEADER LINE.
DATA : wa_final LIKE LINE OF it_final.
DATA : BEGIN OF it_lifnr OCCURS 0,
ebeln TYPE ebeln,
lifnr TYPE lifnr,
END OF it_lifnr.
DATA : BEGIN OF it_name1 OCCURS 0,
lifnr TYPE lifnr,
name1 TYPE name1,
END OF it_name1.
DATA : hmin TYPE bseg-hkont.
DATA : hmax TYPE bseg-hkont.
DATA: idx TYPE sy-tabix.
DATA: temp_gsber TYPE bseg-gsber.
DATA: temp_ebeln TYPE bseg-ebeln.
DATA : temp_gjahr TYPE bseg-gjahr.
DATA : temp_belnr TYPE bseg-belnr.
DATA : temp_lifnr TYPE bseg-lifnr.
*DEFINING THE SELECTION-CRITERIA.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_bukrs LIKE skb1-bukrs OBLIGATORY.
SELECT-OPTIONS: s_gsber FOR bseg-gsber OBLIGATORY.
SELECT-OPTIONS: s_hkont FOR bseg-hkont OBLIGATORY.
PARAMETERS: p_lifnr LIKE ekko-lifnr.
PARAMETERS: p_budat LIKE bkpf-budat OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON s_hkont.
CHECK s_hkont-low LT 250301 OR s_hkont-high GT 250500.
MESSAGE e000(zm) WITH 'PLEASE SELECT A GRIR CLEARING ACCOUNT BETWEEN'
'250301 AND 250500'.
*INITIALIZATION.
INITIALIZATION.
g_repid = sy-repid.
*START-OF-SELECTION.
START-OF-SELECTION.
PERFORM select_data.
PERFORM display_data.
PERFORM list_display.
*& Form select_data
text
--> p1 text
<-- p2 text
FORM select_data .
*selecting open item details
SELECT bukrs hkont gjahr belnr buzei
budat waers xblnr blart
bschl shkzg gsber dmbtr
wrbtr sgtxt
FROM bsis
INTO CORRESPONDING FIELDS OF TABLE it_final
WHERE bukrs EQ p_bukrs
AND hkont BETWEEN '0000250301' AND '0000250500'
AND budat LE p_budat AND ( blart EQ 'WE' OR
blart EQ 'RE' OR
blart EQ 'SA' OR
blart EQ 'EI').
*selecting closed/cleared item details
SELECT bukrs hkont gjahr belnr buzei budat
waers xblnr blart bschl shkzg
gsber dmbtr wrbtr sgtxt
FROM bsas
APPENDING CORRESPONDING FIELDS OF TABLE it_final
WHERE bukrs EQ p_bukrs
AND hkont BETWEEN '0000250301' AND '0000250500'
AND budat LE p_budat
AND blart IN ('WE', 'RE','SA','EI')
AND augdt GE p_budat.
SORT it_final BY belnr gsber DESCENDING.
CLEAR: temp_belnr, temp_gsber.
update blank business areas
LOOP AT it_final .
IF temp_gsber IN s_gsber AND it_final-belnr = temp_belnr.
IF it_final-gsber = ' '.
it_final-gsber = temp_gsber.
ENDIF.
ENDIF.
if it_final-gsber eq space or it_final-gsber in s_gsber.
wa_final-gsber = it_final-gsber.
wa_final-belnr = it_final-belnr.
modify it_final from wa_final transporting gsber.
else.
wa_final-gsber = it_final-gsber.
wa_final-belnr = it_final-belnr.
modify it_final from wa_final transporting gsber.
endif.
*clear wa_final.
endloop.
LOOP AT it_final.
IF temp_gsber IN s_gsber AND it_final-belnr = temp_belnr.
IF it_final-gsber = ' '.
it_final-gsber = temp_gsber.
ENDIF.
IF it_final-lifnr = ' '.
it_final-lifnr = temp_lifnr.
ENDIF.
IF it_final-belnr = ' '.
it_final-belnr = temp_belnr.
ENDIF.
ENDIF.
IF it_final-gsber EQ space OR it_final-gsber IN s_gsber.
CLEAR: temp_belnr, temp_gsber,temp_lifnr.
temp_belnr = it_final-belnr.
temp_gsber = it_final-gsber.
temp_lifnr = it_final-lifnr.
ELSE.
CLEAR : temp_belnr, temp_gsber,temp_lifnr.
ENDIF.
MODIFY it_final TRANSPORTING gsber.
ENDLOOP.
sort it_final by belnr buzei.
loop at it_final.
on change of it_final-belnr.
clear temp_belnr.
clear temp_gsber.
clear temp_lifnr.
temp_belnr = it_final-belnr.
temp_gsber = it_final-gsber.
temp_lifnr = it_final-lifnr.
endon.
if it_final-gsber is initial.
it_final-gsber = temp_gsber.
*modify it_final transporting gsber.
endif.
if it_final-lifnr is initial.
it_final-lifnr = temp_lifnr.
*modify it_final transporting lifnr.
endif.
modify it_final transporting gsber lifnr where belnr = temp_belnr.
endloop.
*deleting entries which are not as per input parameter for business area
DELETE it_final WHERE gsber NOT IN s_gsber .
loop at it_final.
if s_gsber-low ne '' and s_gsber-high ne ''.
delete it_final where gsber not in s_gsber.
elseif s_gsber-low ne '' and s_gsber-high eq ''.
delete it_final where gsber ne s_gsber-low.
endif.
endloop.
*initialising internal tables
it_awkey[] = it_final[].
it_po[] = it_final[].
it_ebeln[] = it_final[].
IF it_final[] IS NOT INITIAL.
*selecting purchase doc details
SELECT bukrs hkont gjahr belnr
bschl shkzg gsber dmbtr
wrbtr sgtxt ebeln
FROM bseg INTO CORRESPONDING FIELDS OF TABLE it_ebeln
FOR ALL ENTRIES IN it_final
WHERE bukrs = p_bukrs
AND belnr = it_final-belnr
AND gjahr = it_final-gjahr
AND hkont = it_final-hkont.
*selecting the GR/IR number from BKPF
SELECT bukrs gjahr belnr
budat waers xblnr blart
awkey
FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE it_awkey
FOR ALL ENTRIES IN it_final
WHERE bukrs EQ it_final-bukrs
AND gjahr EQ it_final-gjahr
AND belnr EQ it_final-belnr.
ENDIF.
IF it_ebeln[] IS NOT INITIAL.
*selecting WBS element
SELECT ebeln gsber
ps_psp_pnr
FROM ekkn
INTO CORRESPONDING FIELDS OF TABLE it_po
FOR ALL ENTRIES IN it_ebeln
WHERE ebeln = it_ebeln-ebeln.
*selecting vendor
SELECT bukrs ebeln lifnr
FROM ekko
INTO CORRESPONDING FIELDS OF TABLE it_lifnr
FOR ALL ENTRIES IN it_ebeln
WHERE ebeln = it_ebeln-ebeln.
ENDIF.
IF it_lifnr[] IS NOT INITIAL.
*selecting vendor name
SELECT lifnr name1
FROM lfa1
INTO CORRESPONDING FIELDS OF TABLE it_name1
FOR ALL ENTRIES IN it_lifnr
WHERE lifnr EQ it_lifnr-lifnr.
ENDIF.
LOOP AT it_final.
idx = sy-tabix.
*retrieving purchase doc
READ TABLE it_ebeln WITH KEY belnr = it_final-belnr
gjahr = it_final-gjahr
hkont = it_final-hkont.
IF sy-subrc EQ 0.
READ TABLE it_final INDEX idx.
it_final-ebeln = it_ebeln-ebeln.
MODIFY it_final INDEX sy-tabix.
ENDIF.
*retrieving WBS element
READ TABLE it_po WITH KEY ebeln = it_final-ebeln.
IF sy-subrc EQ 0.
READ TABLE it_final INDEX idx.
it_final-ps_psp_pnr = it_po-ps_psp_pnr.
MODIFY it_final INDEX sy-tabix.
ENDIF.
calculating amount based on debit/credit
IF it_final-shkzg = 'H'.
it_final-dmbtr = 0 - it_final-dmbtr.
it_final-wrbtr = 0 - it_final-wrbtr.
ENDIF.
MODIFY it_final INDEX idx.
ENDLOOP.
CLEAR idx.
SORT it_final BY belnr ebeln DESCENDING.
*updating blank purchase doc numbers
CLEAR: temp_belnr, temp_ebeln,temp_gjahr.
DATA: w_idx LIKE sy-tabix.
LOOP AT it_final.
w_idx = sy-tabix.
*updating blank purchase docs
IF it_final-gjahr = temp_gjahr AND it_final-belnr = temp_belnr.
IF it_final-ebeln = ' '.
it_final-ebeln = temp_ebeln.
ENDIF.
ENDIF.
IF it_final-ebeln NE ' ' .
CLEAR: temp_belnr, temp_ebeln, temp_gjahr.
temp_belnr = it_final-belnr.
temp_ebeln = it_final-ebeln.
temp_gjahr = it_final-gjahr.
ELSE.
CLEAR : temp_belnr, temp_ebeln, temp_gjahr.
ENDIF.
MODIFY it_final TRANSPORTING ebeln.
*retrieving vendor
READ TABLE it_lifnr WITH KEY ebeln = it_final-ebeln.
IF sy-subrc EQ 0.
READ TABLE it_final INDEX w_idx.
it_final-lifnr = it_lifnr-lifnr.
MODIFY it_final INDEX sy-tabix.
ENDIF.
*retrieving GRIR number
READ TABLE it_awkey WITH KEY belnr = it_final-belnr
gjahr = it_final-gjahr
bukrs = it_final-bukrs.
IF sy-subrc EQ 0.
READ TABLE it_final INDEX w_idx.
it_final-awkey = it_awkey-awkey.
MODIFY it_final INDEX sy-tabix.
ENDIF.
*retrieving vendor name
READ TABLE it_name1 WITH KEY lifnr = it_final-lifnr.
IF sy-subrc EQ 0.
READ TABLE it_final INDEX w_idx.
it_final-name1 = it_name1-name1..
MODIFY it_final INDEX sy-tabix.
ENDIF.
ENDLOOP.
*deleting entries which are not per input parameters
DELETE it_final WHERE hkont NOT IN s_hkont.
IF p_lifnr NE ' '.
DELETE it_final WHERE lifnr NE p_lifnr.
ENDIF.
for selecting the grir number which is the first 10 digits of reference key and
selecting vendor name
LOOP AT it_final.
MOVE it_final-awkey+0(10) TO it_final-grir.
MODIFY it_final INDEX sy-tabix.
ENDLOOP.
SORT it_final BY hkont belnr.
deleting entries where purchase doc is blank.
DELETE it_final WHERE ebeln EQ ' '.
ENDFORM. " select_data
*& Form build_fieldcat
text
--> p1 text
<-- p2 text
FORM e01_fieldcat_init USING gt_fieldcat TYPE slis_t_fieldcat_alv.
DATA: ls_fieldcat TYPE slis_fieldcat_alv.
DATA: gs_sort TYPE slis_sortinfo_alv.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'HKONT'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '1'.
ls_fieldcat-seltext_l = 'ACCOUNT'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'BSCHL'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '2'.
ls_fieldcat-seltext_l = 'POSTING KEY'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'BLART'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '3'.
ls_fieldcat-seltext_l = 'DOC TYPE'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'BELNR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '4'.
ls_fieldcat-seltext_l = 'DOC NUMBER'.
ls_fieldcat-hotspot(1) = 'X'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'BUDAT'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '5'.
ls_fieldcat-seltext_l = 'POSTING DATE'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'XBLNR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '6'.
ls_fieldcat-seltext_l = 'REF. DOC NO'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'EBELN'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '7'.
ls_fieldcat-seltext_l = 'PURCHASE DOC NO'.
ls_fieldcat-hotspot(1) = 'X'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'GSBER'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '8'.
ls_fieldcat-seltext_l = 'BUSINESS AREA'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'DMBTR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '9'.
ls_fieldcat-seltext_l = 'AMOUNT(LC)'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'WRBTR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '10'.
ls_fieldcat-seltext_l = 'AMOUNT(DC)'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'WAERS'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '11'.
ls_fieldcat-seltext_l = 'CURRENCY'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'GJAHR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '14'.
ls_fieldcat-seltext_l = 'Fiscal year'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'GRIR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '14'.
ls_fieldcat-seltext_l = 'GR/IR Number'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'LIFNR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '12'.
ls_fieldcat-seltext_l = 'VENDOR NO'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'PS_PSP_PNR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '13'.
ls_fieldcat-seltext_l = 'WBS Element'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'NAME1'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '14'.
ls_fieldcat-seltext_l = 'VENDOR NAME'.
APPEND ls_fieldcat TO gt_fieldcat.
ENDFORM. " build_fieldcat
*& Form LIST_DISPLAY
text
--> p1 text
<-- p2 text
FORM list_display .
gs_layout-colwidth_optimize(1) = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_background_id = 'ALV_BACKGROUND'
i_callback_program = g_repid
i_callback_user_command = 'USER_COMMAND'
i_structure_name = 'IT_FINAL'
is_layout = gs_layout
it_fieldcat = gt_fieldcat[]
it_special_groups = gt_sp_group[]
it_sort = gt_sort[]
it_filter = gt_filter[]
i_save = g_save
is_variant = g_variant
it_events = gt_events[]
is_print = gs_print
it_alv_graphics = gt_alv_graphics[]
it_excluding = gt_excluding
TABLES
t_outtab = it_final.
ENDFORM. " LIST_DISPLAY
*& Form USER_COMMAND
FORM user_command USING i_ucomm LIKE sy-ucomm
is_selfield TYPE slis_selfield. "#EC CALLED
CASE i_ucomm.
WHEN '&IC1'. " Pick(Double-click)
CASE is_selfield-fieldname.
WHEN 'BELNR'.
CLEAR it_final.
READ TABLE it_final INDEX is_selfield-tabindex.
IF sy-subrc EQ 0.
FI Document number
SET PARAMETER ID 'BLN' FIELD it_final-belnr.
Display Document
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDIF.
WHEN 'EBELN'.
CLEAR it_final.
READ TABLE it_final INDEX is_selfield-tabindex.
IF sy-subrc EQ 0.
PO number
IF it_final-ebeln NE ' '.
SET PARAMETER ID 'BES' FIELD it_final-ebeln.
Display Document
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ENDIF.
ENDIF.
ENDCASE.
ENDCASE.
ENDFORM. "user_command
*& Form display_data
text
--> p1 text
<-- p2 text
FORM display_data .
g_repid = sy-repid.
PERFORM e01_fieldcat_init USING gt_fieldcat[].
PERFORM eventtab_build CHANGING gt_events.
PERFORM e04_comment_build USING gt_list_top_of_page[].
ENDFORM. " display_data
*& Form eventtab_build
text
<--P_GT_EVENTS text
FORM eventtab_build CHANGING lt_events TYPE slis_t_event.
CONSTANTS:
gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = lt_events.
READ TABLE 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 lt_events.
ENDIF.
ENDFORM. " eventtab_build
*& Form e04_comment_build
text
-->P_GT_LIST_TOP_OF_PAGE[] text
FORM e04_comment_build USING e04_lt_top_of_page TYPE slis_t_listheader.
DATA : v_time(10) TYPE c.
DATA: ls_line TYPE slis_listheader.
DATA : v_text(50) TYPE c.
DATA : v_date_low(10) TYPE c,
v_date_high(10) TYPE c.
CONCATENATE 'GR/IR Report' ' '
INTO v_text SEPARATED BY space.
CLEAR ls_line.
ls_line-typ = 'H'.
ls_line-info = v_text.
APPEND ls_line TO e04_lt_top_of_page.
ENDFORM. " e04_comment_build
*& Form top_of_page
text
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = gt_list_top_of_page.
ENDFORM . "TOP_OF_PAGEsorry amit,
but i've no time to read your full coding.
you <b>cannot</b> update business area in fi-document.
(it's not changeable field !)
so reverse the document with fb08 and post document new with correct b.a.
A.
Message was edited by: Andreas Mann -
Updation of blank field in internal table
Hi,
I want to update the blank businees area field with the header item of that particular business area belnr.
i am sending you the updation of business area code plz find out where rhe error and rectify please.
points given
REPORT zfir_vendorwise_grir_balances NO STANDARD PAGE HEADING
LINE-SIZE 142
LINE-COUNT 65.
TABLES: bsis,bkpf,bseg,ekko,lfa1.
TYPE-POOLS: slis.
CONSTANTS:
gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,
gs_layout TYPE slis_layout_alv ,
gs_print TYPE slis_print_alv,
gt_sort TYPE slis_t_sortinfo_alv ,
gt_filter TYPE slis_t_filter_alv,
gt_sp_group TYPE slis_t_sp_group_alv,
gt_alv_graphics TYPE dtc_t_tc,
gt_excluding TYPE slis_t_extab ,
gt_events TYPE slis_t_event .
DATA: g_repid LIKE sy-repid.
DATA: gt_list_top_of_page TYPE slis_t_listheader.
DATA: g_boxnam TYPE slis_fieldname VALUE 'BOX',
p_f2code LIKE sy-ucomm VALUE '&ETA',
p_lignam TYPE slis_fieldname VALUE 'LIGHTS',
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_user_command(30) VALUE 'USER_COMMAND'.
DATA : g_status_set(30) VALUE 'PF_STATUS_SET'.
DATA: BEGIN OF it_final OCCURS 0,
awkey TYPE awkey,
grir(10) TYPE c,
bukrs LIKE bsis-bukrs,
hkont LIKE bsis-hkont,
gjahr LIKE bsis-gjahr,
belnr LIKE bsis-belnr,
budat LIKE bsis-budat,
waers LIKE bsis-waers,
xblnr LIKE bsis-xblnr,
blart LIKE bkpf-blart,
buzei like bseg-buzei,
bschl LIKE bseg-bschl,
shkzg LIKE bseg-shkzg,
gsber LIKE bseg-gsber,
dmbtr LIKE bseg-dmbtr,
wrbtr LIKE bsis-wrbtr,
sgtxt LIKE bseg-sgtxt,
ebeln LIKE bseg-ebeln,
lifnr LIKE ekko-lifnr,
ps_psp_pnr LIKE ekkn-ps_psp_pnr,
name1 LIKE addr1_data-name1,
END OF it_final.
DATA : it_po LIKE it_final OCCURS 0 WITH HEADER LINE.
DATA : it_ebeln LIKE it_final OCCURS 0 WITH HEADER LINE.
DATA : it_awkey LIKE it_final OCCURS 0 WITH HEADER LINE.
DATA : wa_final LIKE LINE OF it_final.
DATA : BEGIN OF it_lifnr OCCURS 0,
ebeln TYPE ebeln,
lifnr TYPE lifnr,
END OF it_lifnr.
DATA : BEGIN OF it_name1 OCCURS 0,
lifnr TYPE lifnr,
name1 TYPE name1,
END OF it_name1.
DATA : hmin TYPE bseg-hkont.
DATA : hmax TYPE bseg-hkont.
DATA: idx TYPE sy-tabix.
DATA: temp_gsber TYPE bseg-gsber.
DATA: temp_ebeln TYPE bseg-ebeln.
DATA : temp_gjahr TYPE bseg-gjahr.
DATA : temp_belnr TYPE bseg-belnr.
DATA : temp_lifnr TYPE bseg-lifnr.
*DEFINING THE SELECTION-CRITERIA.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_bukrs LIKE skb1-bukrs OBLIGATORY.
SELECT-OPTIONS: s_gsber FOR bseg-gsber OBLIGATORY.
SELECT-OPTIONS: s_hkont FOR bseg-hkont OBLIGATORY.
PARAMETERS: p_lifnr LIKE ekko-lifnr.
PARAMETERS: p_budat LIKE bkpf-budat OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON s_hkont.
CHECK s_hkont-low LT 250301 OR s_hkont-high GT 250500.
MESSAGE e000(zm) WITH 'PLEASE SELECT A GRIR CLEARING ACCOUNT BETWEEN'
'250301 AND 250500'.
*INITIALIZATION.
INITIALIZATION.
g_repid = sy-repid.
*START-OF-SELECTION.
START-OF-SELECTION.
PERFORM select_data.
PERFORM display_data.
PERFORM list_display.
*& Form select_data
text
--> p1 text
<-- p2 text
FORM select_data .
*selecting open item details
SELECT bukrs hkont gjahr belnr buzei
budat waers xblnr blart
bschl shkzg gsber dmbtr
wrbtr sgtxt
FROM bsis
INTO CORRESPONDING FIELDS OF TABLE it_final
WHERE bukrs EQ p_bukrs
AND hkont BETWEEN '0000250301' AND '0000250500'
AND budat LE p_budat AND ( blart EQ 'WE' OR
blart EQ 'RE' OR
blart EQ 'SA' OR
blart EQ 'EI').
*selecting closed/cleared item details
SELECT bukrs hkont gjahr belnr buzei budat
waers xblnr blart bschl shkzg
gsber dmbtr wrbtr sgtxt
FROM bsas
APPENDING CORRESPONDING FIELDS OF TABLE it_final
WHERE bukrs EQ p_bukrs
AND hkont BETWEEN '0000250301' AND '0000250500'
AND budat LE p_budat
AND blart IN ('WE', 'RE','SA','EI')
AND augdt GE p_budat.
SORT it_final BY belnr gsber DESCENDING.
CLEAR: temp_belnr, temp_gsber.
update blank business areas
LOOP AT it_final .
IF temp_gsber IN s_gsber AND it_final-belnr = temp_belnr.
IF it_final-gsber = ' '.
it_final-gsber = temp_gsber.
ENDIF.
ENDIF.
if it_final-gsber eq space or it_final-gsber in s_gsber.
wa_final-gsber = it_final-gsber.
wa_final-belnr = it_final-belnr.
modify it_final from wa_final transporting gsber.
else.
wa_final-gsber = it_final-gsber.
wa_final-belnr = it_final-belnr.
modify it_final from wa_final transporting gsber.
endif.
*clear wa_final.
endloop.
LOOP AT it_final.
IF temp_gsber IN s_gsber AND it_final-belnr = temp_belnr.
IF it_final-gsber = ' '.
it_final-gsber = temp_gsber.
ENDIF.
IF it_final-lifnr = ' '.
it_final-lifnr = temp_lifnr.
ENDIF.
IF it_final-belnr = ' '.
it_final-belnr = temp_belnr.
ENDIF.
ENDIF.
IF it_final-gsber EQ space OR it_final-gsber IN s_gsber.
CLEAR: temp_belnr, temp_gsber,temp_lifnr.
temp_belnr = it_final-belnr.
temp_gsber = it_final-gsber.
temp_lifnr = it_final-lifnr.
ELSE.
CLEAR : temp_belnr, temp_gsber,temp_lifnr.
ENDIF.
MODIFY it_final TRANSPORTING gsber.
ENDLOOP.
sort it_final by belnr buzei.
loop at it_final.
on change of it_final-belnr.
clear temp_belnr.
clear temp_gsber.
clear temp_lifnr.
temp_belnr = it_final-belnr.
temp_gsber = it_final-gsber.
temp_lifnr = it_final-lifnr.
endon.
if it_final-gsber is initial.
it_final-gsber = temp_gsber.
*modify it_final transporting gsber.
endif.
if it_final-lifnr is initial.
it_final-lifnr = temp_lifnr.
*modify it_final transporting lifnr.
endif.
modify it_final transporting gsber lifnr where belnr = temp_belnr.
endloop.
*deleting entries which are not as per input parameter for business area
DELETE it_final WHERE gsber NOT IN s_gsber .
loop at it_final.
if s_gsber-low ne '' and s_gsber-high ne ''.
delete it_final where gsber not in s_gsber.
elseif s_gsber-low ne '' and s_gsber-high eq ''.
delete it_final where gsber ne s_gsber-low.
endif.
endloop.
*initialising internal tables
it_awkey[] = it_final[].
it_po[] = it_final[].
it_ebeln[] = it_final[].
IF it_final[] IS NOT INITIAL.
*selecting purchase doc details
SELECT bukrs hkont gjahr belnr
bschl shkzg gsber dmbtr
wrbtr sgtxt ebeln
FROM bseg INTO CORRESPONDING FIELDS OF TABLE it_ebeln
FOR ALL ENTRIES IN it_final
WHERE bukrs = p_bukrs
AND belnr = it_final-belnr
AND gjahr = it_final-gjahr
AND hkont = it_final-hkont.
*selecting the GR/IR number from BKPF
SELECT bukrs gjahr belnr
budat waers xblnr blart
awkey
FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE it_awkey
FOR ALL ENTRIES IN it_final
WHERE bukrs EQ it_final-bukrs
AND gjahr EQ it_final-gjahr
AND belnr EQ it_final-belnr.
ENDIF.
IF it_ebeln[] IS NOT INITIAL.
*selecting WBS element
SELECT ebeln gsber
ps_psp_pnr
FROM ekkn
INTO CORRESPONDING FIELDS OF TABLE it_po
FOR ALL ENTRIES IN it_ebeln
WHERE ebeln = it_ebeln-ebeln.
*selecting vendor
SELECT bukrs ebeln lifnr
FROM ekko
INTO CORRESPONDING FIELDS OF TABLE it_lifnr
FOR ALL ENTRIES IN it_ebeln
WHERE ebeln = it_ebeln-ebeln.
ENDIF.
IF it_lifnr[] IS NOT INITIAL.
*selecting vendor name
SELECT lifnr name1
FROM lfa1
INTO CORRESPONDING FIELDS OF TABLE it_name1
FOR ALL ENTRIES IN it_lifnr
WHERE lifnr EQ it_lifnr-lifnr.
ENDIF.
LOOP AT it_final.
idx = sy-tabix.
*retrieving purchase doc
READ TABLE it_ebeln WITH KEY belnr = it_final-belnr
gjahr = it_final-gjahr
hkont = it_final-hkont.
IF sy-subrc EQ 0.
READ TABLE it_final INDEX idx.
it_final-ebeln = it_ebeln-ebeln.
MODIFY it_final INDEX sy-tabix.
ENDIF.
*retrieving WBS element
READ TABLE it_po WITH KEY ebeln = it_final-ebeln.
IF sy-subrc EQ 0.
READ TABLE it_final INDEX idx.
it_final-ps_psp_pnr = it_po-ps_psp_pnr.
MODIFY it_final INDEX sy-tabix.
ENDIF.
calculating amount based on debit/credit
IF it_final-shkzg = 'H'.
it_final-dmbtr = 0 - it_final-dmbtr.
it_final-wrbtr = 0 - it_final-wrbtr.
ENDIF.
MODIFY it_final INDEX idx.
ENDLOOP.
CLEAR idx.
SORT it_final BY belnr ebeln DESCENDING.
*updating blank purchase doc numbers
CLEAR: temp_belnr, temp_ebeln,temp_gjahr.
DATA: w_idx LIKE sy-tabix.
LOOP AT it_final.
w_idx = sy-tabix.
*updating blank purchase docs
IF it_final-gjahr = temp_gjahr AND it_final-belnr = temp_belnr.
IF it_final-ebeln = ' '.
it_final-ebeln = temp_ebeln.
ENDIF.
ENDIF.
IF it_final-ebeln NE ' ' .
CLEAR: temp_belnr, temp_ebeln, temp_gjahr.
temp_belnr = it_final-belnr.
temp_ebeln = it_final-ebeln.
temp_gjahr = it_final-gjahr.
ELSE.
CLEAR : temp_belnr, temp_ebeln, temp_gjahr.
ENDIF.
MODIFY it_final TRANSPORTING ebeln.
*retrieving vendor
READ TABLE it_lifnr WITH KEY ebeln = it_final-ebeln.
IF sy-subrc EQ 0.
READ TABLE it_final INDEX w_idx.
it_final-lifnr = it_lifnr-lifnr.
MODIFY it_final INDEX sy-tabix.
ENDIF.
*retrieving GRIR number
READ TABLE it_awkey WITH KEY belnr = it_final-belnr
gjahr = it_final-gjahr
bukrs = it_final-bukrs.
IF sy-subrc EQ 0.
READ TABLE it_final INDEX w_idx.
it_final-awkey = it_awkey-awkey.
MODIFY it_final INDEX sy-tabix.
ENDIF.
*retrieving vendor name
READ TABLE it_name1 WITH KEY lifnr = it_final-lifnr.
IF sy-subrc EQ 0.
READ TABLE it_final INDEX w_idx.
it_final-name1 = it_name1-name1..
MODIFY it_final INDEX sy-tabix.
ENDIF.
ENDLOOP.
*deleting entries which are not per input parameters
DELETE it_final WHERE hkont NOT IN s_hkont.
IF p_lifnr NE ' '.
DELETE it_final WHERE lifnr NE p_lifnr.
ENDIF.
for selecting the grir number which is the first 10 digits of reference key and
selecting vendor name
LOOP AT it_final.
MOVE it_final-awkey+0(10) TO it_final-grir.
MODIFY it_final INDEX sy-tabix.
ENDLOOP.
SORT it_final BY hkont belnr.
deleting entries where purchase doc is blank.
DELETE it_final WHERE ebeln EQ ' '.
ENDFORM. " select_data
*& Form build_fieldcat
text
--> p1 text
<-- p2 text
FORM e01_fieldcat_init USING gt_fieldcat TYPE slis_t_fieldcat_alv.
DATA: ls_fieldcat TYPE slis_fieldcat_alv.
DATA: gs_sort TYPE slis_sortinfo_alv.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'HKONT'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '1'.
ls_fieldcat-seltext_l = 'ACCOUNT'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'BSCHL'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '2'.
ls_fieldcat-seltext_l = 'POSTING KEY'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'BLART'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '3'.
ls_fieldcat-seltext_l = 'DOC TYPE'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'BELNR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '4'.
ls_fieldcat-seltext_l = 'DOC NUMBER'.
ls_fieldcat-hotspot(1) = 'X'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'BUDAT'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '5'.
ls_fieldcat-seltext_l = 'POSTING DATE'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'XBLNR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '6'.
ls_fieldcat-seltext_l = 'REF. DOC NO'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'EBELN'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '7'.
ls_fieldcat-seltext_l = 'PURCHASE DOC NO'.
ls_fieldcat-hotspot(1) = 'X'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'GSBER'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '8'.
ls_fieldcat-seltext_l = 'BUSINESS AREA'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'DMBTR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '9'.
ls_fieldcat-seltext_l = 'AMOUNT(LC)'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'WRBTR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '10'.
ls_fieldcat-seltext_l = 'AMOUNT(DC)'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'WAERS'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '11'.
ls_fieldcat-seltext_l = 'CURRENCY'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'GJAHR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '14'.
ls_fieldcat-seltext_l = 'Fiscal year'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'GRIR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '14'.
ls_fieldcat-seltext_l = 'GR/IR Number'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'LIFNR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '12'.
ls_fieldcat-seltext_l = 'VENDOR NO'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'PS_PSP_PNR'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '13'.
ls_fieldcat-seltext_l = 'WBS Element'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'NAME1'.
ls_fieldcat-tabname = 'IT_FINAL'.
ls_fieldcat-col_pos = '14'.
ls_fieldcat-seltext_l = 'VENDOR NAME'.
APPEND ls_fieldcat TO gt_fieldcat.
ENDFORM. " build_fieldcat
*& Form LIST_DISPLAY
text
--> p1 text
<-- p2 text
FORM list_display .
gs_layout-colwidth_optimize(1) = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_background_id = 'ALV_BACKGROUND'
i_callback_program = g_repid
i_callback_user_command = 'USER_COMMAND'
i_structure_name = 'IT_FINAL'
is_layout = gs_layout
it_fieldcat = gt_fieldcat[]
it_special_groups = gt_sp_group[]
it_sort = gt_sort[]
it_filter = gt_filter[]
i_save = g_save
is_variant = g_variant
it_events = gt_events[]
is_print = gs_print
it_alv_graphics = gt_alv_graphics[]
it_excluding = gt_excluding
TABLES
t_outtab = it_final.
ENDFORM. " LIST_DISPLAY
*& Form USER_COMMAND
FORM user_command USING i_ucomm LIKE sy-ucomm
is_selfield TYPE slis_selfield. "#EC CALLED
CASE i_ucomm.
WHEN '&IC1'. " Pick(Double-click)
CASE is_selfield-fieldname.
WHEN 'BELNR'.
CLEAR it_final.
READ TABLE it_final INDEX is_selfield-tabindex.
IF sy-subrc EQ 0.
FI Document number
SET PARAMETER ID 'BLN' FIELD it_final-belnr.
Display Document
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDIF.
WHEN 'EBELN'.
CLEAR it_final.
READ TABLE it_final INDEX is_selfield-tabindex.
IF sy-subrc EQ 0.
PO number
IF it_final-ebeln NE ' '.
SET PARAMETER ID 'BES' FIELD it_final-ebeln.
Display Document
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ENDIF.
ENDIF.
ENDCASE.
ENDCASE.
ENDFORM. "user_command
*& Form display_data
text
--> p1 text
<-- p2 text
FORM display_data .
g_repid = sy-repid.
PERFORM e01_fieldcat_init USING gt_fieldcat[].
PERFORM eventtab_build CHANGING gt_events.
PERFORM e04_comment_build USING gt_list_top_of_page[].
ENDFORM. " display_data
*& Form eventtab_build
text
<--P_GT_EVENTS text
FORM eventtab_build CHANGING lt_events TYPE slis_t_event.
CONSTANTS:
gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = lt_events.
READ TABLE 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 lt_events.
ENDIF.
ENDFORM. " eventtab_build
*& Form e04_comment_build
text
-->P_GT_LIST_TOP_OF_PAGE[] text
FORM e04_comment_build USING e04_lt_top_of_page TYPE slis_t_listheader.
DATA : v_time(10) TYPE c.
DATA: ls_line TYPE slis_listheader.
DATA : v_text(50) TYPE c.
DATA : v_date_low(10) TYPE c,
v_date_high(10) TYPE c.
CONCATENATE 'GR/IR Report' ' '
INTO v_text SEPARATED BY space.
CLEAR ls_line.
ls_line-typ = 'H'.
ls_line-info = v_text.
APPEND ls_line TO e04_lt_top_of_page.
ENDFORM. " e04_comment_build
*& Form top_of_page
text
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = gt_list_top_of_page.
ENDFORM . "TOP_OF_PAGE
regards,
Amit teja
Message was edited by: amit teja
Message was edited by: amit teja
Message was edited by: amit tejaHello,
<b>Sort it_final by belnr.</b>
loop at it_final.
on change of it_final-belnr.
clear temp_gsber.
clear temp_lifnr.
<b>temp_belnr = it_final-belnr.</b>
temp_gsber = it_final-gsber.
temp_lifnr = it_final-lifnr.
if it_final-gsber eq ' '.
it_final-gsber = temp_gsber.
endif.
if it_final-lifnr eq ' '.
it_final-lifnr = temp_lifnr.
endif.
modify it_final transporting gsber lifnr where <b>belnr = temp_belnr</b>.
<b>endon.</b>
endloop.
Regards,
Naimesh -
FI Debit Note (interest on arrears) printed immediately
Hello all.
We've activated interest calculation on arrears. We use t-code FINT.
The system automatically posts a debit note and prints interest calculation detail.
What we would like was the following: while running fint we'd like to obtain simultaneously debit note print and interest calculation detail. At the moment we can only print debit note later through F.65.
Best regards
Joana TrigoDear Nikhil,
Thank you again for your suggestion. At first, I was thinking of two independent forms because we're already printing debit notes, they've been developed in sapscript and i did not intended to create a new form in smart forms. So, that was the reason i wanted to obtain the prints through two different transactions - we print debit notes through f.62.
I've already talked to our programmer to see if he could change the smart form in order to obtain simultaneously debit note and interest doc detail. We just have to be sure that all the information is there.
It is a great tip and we'll try that way.
Best regards and thank you very much for your time and help.
Joana -
Asset Report with CJ88 document
Hi Experts
We have developed Z report for asset having material code,vendor,CJ88 document.In old Z report we are not getting material & vendor which is relevant for CJ88 document.
So we have develop new Z report in which we are getting material but that value is not matching with AS03.What could be reason.
The Logic is as follows:
First get the field OBJNR from table COVP where field REFBN eq to Settlement Docs in to ITAB..
Then fetch the amount and other field from Table COVP where OBJNR eq ITAB-OBJNR and BLART NE u2018SAu2019 and KSTAR NE u20180000300010u2019.
Please check the actual function code to fetch the settlement doc details below:
FORM GET_SETTLEMENT_DOC .
btab[] = itab[].
sort btab by bwasl.
delete btab where bwasl ne '115'.
if not btab[] is initial.
select objnr
into corresponding fields of table dtab
from covp
for all entries in btab
where refbn eq btab-belnr.
sort dtab by objnr.
endif.
if not dtab[] is initial.
select belnr
wtgbtr
wkgbtr
gjahr
kstar
gkont
werks
matnr
ebeln
ebelp
bldat
budat
refbn
blart
awtyp
into corresponding fields of table ctab
from covp
for all entries in dtab
where objnr eq dtab-objnr
and blart ne 'SA'
and kstar ne '0000300010'.
endif.
if not ctab[] is initial.
sort itab by bwasl.
delete itab where bwasl eq '115'.
loop at ctab.
itab-ANLN1 = ' '.
itab-belnr = ctab-belnr.
itab-buzei = ctab-buzei.
itab-bzdat = ctab-bldat.
itab-bldat = ctab-bldat.
itab-budat = ctab-budat.
itab-gjahr = ctab-gjahr.
itab-bwasl = '115'.
itab-name1 = ''.
itab-AWTYP = ''. "Transaction Type
itab-matnr = ctab-matnr.
clear wmaktx.
select single maktx into wmaktx
from makt
where matnr eq ctab-matnr.
itab-maktx = wmaktx.
itab-name1 = ' '.
itab-dmbtr = 0.
itab-wrbtr = 0.
itab-anbtr = ctab-wkgbtr.
itab-anbtr = ctab-wtgbtr.
itab-butxt = ctab-butxt.
itab-ebeln = ctab-ebeln.
itab-ebelp = ctab-ebelp.
itab-kstar = ctab-kstar.
itab-blart = ctab-blart.
append itab.
endloop.
endif.
ENDFORM. " GET_SETTLEMENT_DOC
Is there any reports for settlement document having material & vendor code with description.
Regards
Nitin Aclosing
-
Billing Block removal not updated in the sales order change log
Hi Gurus,
A specific Billing Block is automatically assigned to the sales document header (VBAK-FAKSK) when the net value of the sales order is negative. This is an order related billing.
Sometimes the Billing block is getting released automatically and the Negative Invoice is getting created in the Background job run for creating the invoices. When we check the sales order, the Billing block is not existing and the removal of the billing block is not recorded in the Change Log of the sales order.In the CDHDR table also there are no details about the release of the billing block.
This is happening only occassionally. When I tried to replicate the issue, the system is not allowing me to create the invoice as long as the billing block is there in the sales order and if I remove the block, it is recorded in the sales order change log.
My doubt is.,
1. How the billing block is getting released automatically?
2. Even if the block is released, why it is not recorded in the Change Log of the sales order?
Looking forward your for suggestions and solutions.
Thanks,
RaviHi
Did u check in sales doc. details screen.There u can block for billing. -
How to get the path of the image stored in sap??
Hi All
The problem is
While making an entry in standard there is a field called documents through which we attach our images in sap.
How to get the path of the image stored with the corresponding order so that the image can be displayed while we are creating a report.
I know how to upload the image while creating a report using docking control.
I am not able to get the path of the image stored...
Please Help
Thanks in advance..
PoojaI am not aware of exactly which tables are used for storing the attached doc. details, but we have worked in the similar requiremnent.
What you can do is .... before uploading the image to any order, try swich on the SQL trace ST05 and after upload switch off.
The log will display what are the tables involved while storing the image. And you can easily find out the image location.
Maybe you are looking for
-
Hi, I'm trying to test my game on my nexus 1. I understand that to be able to do that I first need to download and install Adobe Air for Android from the Android market. When I go go to the Air page on the market it says that the app is incompatible
-
Migration to an existing 6i repository
We updated the repository from 1.3.2 to 6 (the repository owner is AAA). At the same time, we created a new 6i target repository (the repository owner is BBB). We now plan to migrate the repository from 6 to 6i. Two questions: 1. The repositories hav
-
Searching for photos without tags?
In LR4 I have lots of images without tags. How can I search for all of my imported images that do not have tags? Thanks.
-
Desktop Moving opposite of Cursor
We have 6 Minis in our teaching lab, and someone could have deliberately changed a setting on one of them for the fun of it: the desktop moves up as the cursor moves down (DT moves about 1/2 inch up when the cursor moves 12 inches down). It does it w
-
Hi All, I'm having trouble with a HashMap in my program. It is replacing all values when a key value pair is inserted. My HashMap is declared as HashMap<Integer,ArrayList<WrapperObject>>. . When I print out the values of the HashMap the following beh