Document Number generation as per the client requirment
Hi,
I would like to generate the document no as per our client's document numbering logic. This is not available in standard.
In additional data tab am collecting information from user (Characteristics values) to generate document number.
E.G.
I have 2 characteristics
1. Part Type:
Values: A - Type 1
B - Type 2
2. Part Code:
Values: 01- Part 1
02 - Part 2
03 - Part 3
When am creating document am selecting Part Type = A & Part code = 02 so my document number is A-02. ("-" : constant).
I am planning to use BADI "DOCUMENT_MAIN01" - method "ASSIGN_NUMBER".
In this method how can i get the characteristics values which filled user on screen ? Is there any Function Module for that ?
I tried Function Module "CTMS_DDB_CLOSE" but this is not released also this is not working in Easy DMS.
Is there any other way i can take i/p from user to generate document number ?
Regards,
Sunny
Edited by: Sunny on Sep 25, 2008 9:09 PM
Hi Sunny,
An experienced ABAPer can capture the required information from the sub screen(additional data) number (4000) and the subscreen program (SAPLCTMS). This data can be used in the method of the BADI.
Regards,
T T Subudhi
Similar Messages
-
Not geeting the proper excel output as per the client requirement .Urgent
Hi all,
I have a rtf and i want to take the report output in ms-excel format .....
I am able to get the excel out put but the problem is that for one of the field in rtf "COMMENTS" .... it contain the detail text of 100 to 120 words ....
as per client requirement they want this "COMMENT" data in one line in excel output .
can any rtf design expert suggest me how to get this output in excel format as per my client requirement .....
Please advice.................ITS URGENT
thanks in advance
RPHi all,
I have a rtf and i want to take the report output in ms-excel format .....
I am able to get the excel out put but the problem is that for one of the field in rtf "COMMENTS" .... it contain the detail text of 100 to 120 words ....
as per client requirement they want this "COMMENT" data in one line in excel output .
can any rtf design expert suggest me how to get this output in excel format as per my client requirement .....
Please advice.................ITS URGENT
thanks in advance
RP -
How to identify field names and table names as per the client requirement
Dear All,
i am preparing reports for my client of their own requirement, but in sap how can i find the field name, table names like for eg: doc.no, issue,revision no, revision date, date of issue,date of completion, job card no,identificatin no, part no , accept,inspected,testedby, remarks, issue, process.
so please tell what is the path to find the field names and table naeHi,
You can select the field which field name and table you want to know, just press F1 button, one more window will open. There you need to select the technical information icon, then you will get the required field name and its table.
Regards,
V. Suresh -
Material Document number generation
Hi,
The transaction GI, Trsfr Posting, Other Goods Movement is clubed to a wide category of Trans./Event Type(WA).So all the three documents has been generated under a single number range.
Still further based on certain specific mvt.types(transactions) can i segregate the number generation to identify the transactions uniquely.
Regards,
Milton.IHi
The number range is generated for the trans/event type. One cannot have number range for specific movement type.
Rgds
SVJ -
Create a Bex report based on the client requirement
Hi Experts
We are using 3.5 version SAP BW.
Our Client requirement is to create a report. as below
CC01 Qty Ltr Ripple xxxxx.xx
CC01 Qty Ltr Ripple xxxxx.xx
CC01 Qty Ltr Ripple xxxxx.xx
CC01 Profit Value Ripple xxxxx.xx
CC01 Profit Value Ripple xxxxx.xx
CC01 Profit Value Ripple] xxxxx.xx
Where CC01 is Company Code
QTY Ltr is the formula value that i have created for them
Profit value also is the formula that i have created
Ripple is the value that they want it to be seen in the reprot as a standard which is not available anywere in the multiprovider
xxxxx.xx are the total values of Qty LTr and Profit values per month (eg: 01.2011)
I have created the reprot and able to get the values but i do not get the CC01 for every line, and even Qty Ltr or the Profit Value in every line of the report , And i do not know how to hard code the Ripple.
Please adivice hope i am clear.
My repot displays this way. may be based on the company code.
CC01 Qty Ltr Ripple xxxxx.xx
xxxxx.xx
xxxxx.xx
Profit Value Ripple xxxxx.xx
xxxxx.xx
xxxxx.xx
CC23 Qty Ltr Ripple xxxxx.xx
xxxxx.xx
xxxxx.xx
Profit Value Ripple xxxxx.xx
xxxxx.xx
xxxxx.xx
CC09 Qty Ltr Ripple xxxxx.xx
xxxxx.xx
xxxxx.xx
Profit Value Ripple xxxxx.xx
xxxxx.xx
xxxxx.xx
Thanks Regds
SriWith the code, you've presumably logged on to the database. To insert objects on to a new report you'd want to use code along the following lines:
private void AddTableFromDataSet(ref CrystalDecisions.CrystalReports.Engine.ReportDocument rpt, System.Data.DataSet ds)
ISCDReportClientDocument rasReport = rpt.ReportClientDocument;
// Convert the DataSet to an ISCRDataset object (something the ISCDReportClientDocument can understand)
CrystalDecisions.ReportAppServer.DataDefModel.ISCRDataSet rasDS;
rasDS = CrystalDecisions.ReportAppServer.DataSetConversion.DataSetConverter.Convert(ds);
// Add the dataset as a data source to the report
rasReport.DatabaseController.AddDataSource((object)rasDS);
// Add a field to the report canvas
// Note: This is quick and dirty. No positioning, resizing, formatting, etc.
CrystalDecisions.ReportAppServer.Controllers.ISCRResultFieldController rfc;
CrystalDecisions.ReportAppServer.DataDefModel.ISCRTable crTable;
CrystalDecisions.ReportAppServer.DataDefModel.ISCRField crField;
rfc = rasReport.DataDefController.ResultFieldController;
crTable = rasReport.Database.Tables[0];
crField = crTable.DataFields[2]; // Hardcoded field "Customer Name" in the Customer table from Xtreme Sample Database
rfc.Add(-1, crField);
// Save the report template to disk (without data)
//object path = @"c:\documents and settings\administrator\desktop\";
//rasReport.SaveAs("test.rpt", ref path, 0);
//MessageBox.Show("Done!");
For more info, see sample apps on the following link:
http://wiki.sdn.sap.com/wiki/x/IgBmBQ
Also, consult your 'Report Application Server .NET SDK Developer Guide" and "Report Application Server .NET API Guide". I'd provide the appropriate links, but you do not mention the version of CR you are using...
Thread moved to the '.NET - SAP Crystal Reports" forum.
Ludek
Follow us on Twitter http://twitter.com/SAPCRNetSup
Got Enhancement ideas? Try the [SAP Idea Place|https://ideas.sap.com/community/products_and_solutions/crystalreports] -
hi all
for a user defined form,i created a field as document number,as the forms loads doc number is creating. Once the form mode changed to update mode,and now i m pressing (Ctrl+A ) or menu UID 1282 to change the mode into add mode. but i m not able handle this menu event by code. more clearly i m using the following code
if pval.menuUid="1282" then
objForm.objmain.objApplication.Forms.getform("formtype",0)
me.getDocnum()
end if
Actually i need to generate the doc number at the time of form mode changed into add mode also
Edited by: ajith464 on Aug 31, 2010 7:32 AMHi
Did you go through the B1DE document.
In that you can find detailed information about how to create addons using B1De.
First create required UDT and UDF's for your addon and register it through object registration wizard.For creating form you have 2 option create form manually or using form generator to create form automatically.Form generator will create form in xml format you easy change the extension to srf.Then create addon project in visual studio , choose the connection type second one (sigle side ) . if you created the udt and udf then you can avoid next step. Choose a menu location for you addon give the required fields such as menu name description and choose menu type string. After the menu is created you have to attach the new form to that menu item for that right click on that menu and select attach form browse the location of your newly created form you can also add menu events in this step.To add listener again right click on the menu and select add listener you can add onaftermenuclick and onbeforemenuclick( there is a check box to differentiate these two events). Then press next , in this window you can find that your form name is listed in the left side ,expand it select the item for adding listener.
for eg take the case of OK button its unique id is 1 we can add various listener to it such as onBeforeItemPress , On AfterItemPress, onBeforeItemClick and afterItemClick etc that up to your requirement. Click next here you can add form events listeners such as formDataAdd , formDataUpdate etc . complete the steps and create the project
sorry for my english
I will also send you some samples
Regards
Arun -
Problem in designing the complex report for the client requirement
Post Author: venkateshvarakala
CA Forum: General
Hi,
I have problem in designing the report (Crystal Report 9.0) with multiple groups wih a sub report in each group with a a group header and footer with a
detail section in each report.
My requirement is as follows.1) Xxxx-sub reportwill have one header conetnt and footer content and detail ection in the middle grouped on one parameter2) Yyyyysub reportwill have one header conetnt and footer content and detail ection in the middle grouped on one parameter3) Zzzzzsub reportwill have one header conetnt and footer content and detail ection in the middle grouped on one parameter4)ABCdsub reportwill have one header one footer in group headers grouper on two prameters, My requirement demands customised detail section i.e.static conetent followed by detail section and a static conetnt(which should not repeat with child table records,should come only once with the a record and
s) and detail section.
example:
main table of the sub report 4 has records m1,m2,m3,m4... and child table has
m1c1m,m1c2,m1c3,m1c4,m2c1,m2c2,m2c3,m2c4,m3c1,m3c2,m3c3,m3c4,m4c1,m4c2,m4c3,m4c4...
The staic content should come only with m1,m2,m3,m4 not with m1c1,m1c2....like this I need in two places in the same report which may have 500 recors printed in single report.
all the above section should be suppressable with a condition including the top 3 reports.
I am able to get the top 3 reports as per the requirement but my forth sub report is getting displayed after each sub-group 1,2,3 which is not happening with
1,2,3. Only 4th set is repeating with 1,2,3.
THis report is attached with 6 datasets.
I linked the main report main table with 1,2,3 (main Table) report filling table but when I am trying to link the 4th table main table I am able to link but
I am not getting the result on the report.All the dataset has the one common column. sub report 1,2,3 are filled with common datasets with condition suppressing where as 4th report is filled with
different results .
1) My question is why the 4 the report is report is repeating with 1,2,3 why 1,2,3 are coming as expected.2) Is it possible to create
Please help me in designing the report as per the requiremnt and suggest me if I need any design modifictions.
Your suggestions and inputs are highy appreciated.Thanks for sparing time in going through my problem and I will be grateful if give solution and share if you have similar experiences.
Thanks
Venkatesh Varakala.If you create a multiprovider with the two ODS you wont have this problem.
Hope it helps.
Regards. -
Document number not updating in the document
hi gurus,
this is a excise invoice voucher form used by the client .
some values are not updated in document no.
could someone tell me why it is not updating.
if there are any corrections in code pls update me and solve my problem.
urs
pradeep.r
*& Include ZFI_PAY_ADVICE_F01_STR_2 *
*& Form select_data
text
--> p1 text
<-- p2 text
FORM SELECT_DATA .
REFRESH IT_BKPF.
CLEAR IT_BKPF.
SELECT BELNR GJAHR XBLNR BLDAT BLART INTO CORRESPONDING FIELDS OF
TABLE IT_BKPF FROM BKPF
WHERE BELNR IN S_BELNR
AND GJAHR IN S_GJAHR
AND BUKRS IN S_BUKRS.
IF IT_BKPF[] IS INITIAL.
MESSAGE S001.
ENDIF.
SORT IT_BKPF BY BELNR GJAHR.
LOOP AT IT_BKPF.
SELECT SINGLE EBELN WRBTR WERKS LIFNR KUNNR INTO
(IT_BKPF-ZUONR,IT_BKPF-WRBTR,IT_BKPF-WERKS,IT_BKPF-LIFNR,IT_BKPF-KUNNR)
FROM BSEG
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND BUKRS IN S_BUKRS
AND KOART = 'K'.
IF NOT IT_BKPF-LIFNR IS INITIAL.
DATA : WRK_ADRNR LIKE LFA1-ADRNR.
CLEAR WRK_ADRNR.
SELECT SINGLE ADRNR INTO WRK_ADRNR FROM LFA1
WHERE LIFNR = IT_BKPF-LIFNR.
SELECT SINGLE NAME1
NAME2
NAME3
NAME4
CITY1
REGION
COUNTRY
STREET
INTO (IT_BKPF-NAME1,IT_BKPF-NAME2,IT_BKPF-NAME3,IT_BKPF-NAME4,
IT_BKPF-CITY1,IT_BKPF-REGION,IT_BKPF-COUNTRY,IT_BKPF-STREET)
FROM ADRC
WHERE ADDRNUMBER EQ WRK_ADRNR.
Text for Country
SELECT SINGLE LANDX INTO IT_BKPF-LANDX FROM T005T
WHERE LAND1 = IT_BKPF-COUNTRY
AND SPRAS EQ SY-LANGU.
Text for Region
SELECT SINGLE BEZEI INTO IT_BKPF-BEZEI FROM T005U
WHERE BLAND = IT_BKPF-REGION
AND SPRAS EQ SY-LANGU
AND LAND1 = IT_BKPF-COUNTRY.
ENDIF.
IF NOT IT_BKPF-KUNNR IS INITIAL.
CLEAR WRK_ADRNR.
SELECT SINGLE ADRNR INTO (WRK_ADRNR) FROM KNA1
WHERE KUNNR = IT_BKPF-KUNNR.
SELECT SINGLE NAME1
NAME2
NAME3
NAME4
CITY1
REGION
COUNTRY
STREET
INTO (IT_BKPF-NAME1,IT_BKPF-NAME2,IT_BKPF-NAME3,IT_BKPF-NAME4,
IT_BKPF-CITY1,IT_BKPF-REGION,IT_BKPF-COUNTRY,IT_BKPF-STREET)
FROM ADRC
WHERE ADDRNUMBER EQ WRK_ADRNR.
Text for Country
SELECT SINGLE LANDX INTO IT_BKPF-LANDX FROM T005T
WHERE LAND1 = IT_BKPF-COUNTRY
AND SPRAS EQ SY-LANGU.
Text for Region
SELECT SINGLE BEZEI INTO IT_BKPF-BEZEI FROM T005U
WHERE BLAND = IT_BKPF-REGION
AND SPRAS EQ SY-LANGU
AND LAND1 = IT_BKPF-COUNTRY.
ENDIF.
MODIFY IT_BKPF.
ENDLOOP.
REFRESH IT_DATA.
CLEAR IT_DATA.
LOOP AT IT_BKPF.
DATA : WRK_BSAKBELNR LIKE BSAK-BELNR.
CLEAR WRK_BSAKBELNR.
SELECT SINGLE BELNR INTO WRK_BSAKBELNR FROM BSAK
WHERE AUGBL = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND BUKRS IN S_BUKRS.
Advance
IF WRK_BSAKBELNR IS INITIAL.
IT_DATA-VBELNR = IT_BKPF-BELNR.
IT_DATA-BELNR = IT_BKPF-BELNR.
IT_DATA-GJAHR = IT_BKPF-GJAHR.
IT_DATA-XBLNR = IT_BKPF-XBLNR.
IT_DATA-BLDAT = IT_BKPF-BLDAT.
IT_DATA-BLART = IT_BKPF-BLART.
IT_DATA-ZUONR = IT_BKPF-ZUONR.
IT_DATA-WRBTR = IT_BKPF-WRBTR.
IT_DATA-WRBTRC = IT_DATA-WRBTR.
APPEND IT_DATA.
IT_DATA-VBELNR = IT_BKPF-BELNR.
IT_DATA-BELNR = ' '.
IT_DATA-GJAHR = ' '.
IT_DATA-BLDAT = ' '.
IT_DATA-BLART = ' '.
IT_DATA-ZUONR = ' '.
TDS
DATA : WRK_TDSWRBTR LIKE BSIS-WRBTR.
CLEAR WRK_TDSWRBTR.
SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSIS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND BUKRS IN S_BUKRS
AND QSSKZ NE SPACE
AND QSSKZ NE 'XX'
AND XREF3 NE SPACE
AND QSSKZ NE 'S1'
AND QSSKZ NE 'S2'.
IF WRK_TDSWRBTR IS INITIAL.
SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSAS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND QSSKZ NE SPACE
AND QSSKZ NE 'XX'
AND XREF3 NE SPACE
AND BUKRS IN S_BUKRS
AND QSSKZ NE 'S1'
AND QSSKZ NE 'S2'.
ENDIF.
DATA : WRK_BSCHL LIKE BSIS-BSCHL.
CLEAR WRK_BSCHL.
IF NOT WRK_TDSWRBTR IS INITIAL.
IT_DATA-XBLNR = 'TDS/ECess'.
IT_DATA-WRBTR = WRK_TDSWRBTR.
SELECT SINGLE BSCHL INTO WRK_BSCHL FROM BSIS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND QSSKZ NE SPACE
AND BUKRS IN S_BUKRS
AND QSSKZ NE 'XX'
AND XREF3 NE SPACE
AND QSSKZ NE 'S1'
AND QSSKZ NE 'S2'
AND BSCHL = '40'.
IF WRK_BSCHL IS INITIAL.
SELECT SINGLE BSCHL INTO WRK_BSCHL FROM BSAS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND QSSKZ NE SPACE
AND QSSKZ NE 'XX'
AND XREF3 NE SPACE
AND BUKRS IN S_BUKRS
AND QSSKZ NE 'S1'
AND QSSKZ NE 'S2'
AND BSCHL = '40'.
ENDIF.
IF WRK_BSCHL IS INITIAL.
IT_DATA-WRBTR = IT_DATA-WRBTR * - 1.
ENDIF.
IT_DATA-WRBTRC = IT_DATA-WRBTR.
APPEND IT_DATA.
ENDIF.
IT_DATA-VBELNR = IT_BKPF-BELNR.
IT_DATA-BELNR = ' '.
IT_DATA-GJAHR = ' '.
IT_DATA-BLDAT = ' '.
IT_DATA-BLART = ' '.
IT_DATA-ZUONR = ' '.
Discount
DATA : WRK_DEDWRBTR LIKE BSIS-WRBTR.
CLEAR WRK_DEDWRBTR.
SELECT SUM( WRBTR ) INTO WRK_DEDWRBTR FROM BSIS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND QSSKZ EQ SPACE
AND BUKRS IN S_BUKRS
AND BSCHL NE '50'.
IF NOT WRK_DEDWRBTR IS INITIAL.
SELECT SUM( WRBTR ) INTO WRK_DEDWRBTR FROM BSAS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND QSSKZ EQ SPACE
AND BUKRS IN S_BUKRS
AND BSCHL NE '50'.
ENDIF.
IF NOT WRK_DEDWRBTR IS INITIAL.
IT_DATA-XBLNR = 'Discount'.
IT_DATA-WRBTR = WRK_DEDWRBTR.
IT_DATA-WRBTR = IT_DATA-WRBTR * - 1.
IT_DATA-WRBTRC = IT_DATA-WRBTR.
APPEND IT_DATA.
ENDIF.
Invoice
ELSE.
REFRESH IT_BELNR.
CLEAR IT_BELNR.
DATA : W_YEAR(4),
W_MONTH(2) VALUE '04',
W_DATE(2) VALUE '01',
W_YEAR1(8).
W_YEAR = S_GJAHR-LOW.
CONCATENATE W_YEAR W_MONTH W_DATE INTO W_YEAR1.
SELECT BELNR GJAHR XBLNR BLDAT BLART ZUONR WRBTR BSCHL INTO
TABLE IT_BELNR FROM BSAK
WHERE AUGBL = IT_BKPF-BELNR
AND AUGDT GE W_YEAR1
AND GJAHR = IT_BKPF-GJAHR
AND BELNR NE IT_BKPF-BELNR
AND BUKRS IN S_BUKRS.
SORT IT_BELNR BY BELNR GJAHR.
LOOP AT IT_BELNR.
CLEAR WRK_TDSWRBTR.
SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSIS
WHERE BELNR = IT_BELNR-BELNR
AND GJAHR = IT_BELNR-GJAHR
AND QSSKZ NE SPACE
AND BUKRS IN S_BUKRS
AND QSSKZ NE 'XX'.
IF WRK_TDSWRBTR IS INITIAL.
SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSAS
WHERE BELNR = IT_BELNR-BELNR
AND GJAHR = IT_BELNR-GJAHR
AND QSSKZ NE SPACE
AND BUKRS IN S_BUKRS
AND QSSKZ NE 'XX'.
ENDIF.
IT_DATA-VBELNR = IT_BKPF-BELNR.
IT_DATA-BELNR = IT_BELNR-BELNR.
IT_DATA-GJAHR = IT_BELNR-GJAHR.
IT_DATA-XBLNR = IT_BELNR-XBLNR.
IT_DATA-BLDAT = IT_BELNR-BLDAT.
IT_DATA-BLART = IT_BELNR-BLART.
IT_DATA-ZUONR = IT_BELNR-ZUONR.
IT_DATA-WRBTR = IT_BELNR-WRBTR + WRK_TDSWRBTR .
IF IT_BELNR-BSCHL GE '31' AND IT_BELNR-BSCHL LE '39'.
IT_DATA-WRBTRC = IT_DATA-WRBTR.
ELSE.
IF IT_BELNR-BSCHL GE '21' AND IT_BELNR-BSCHL LE '29'.
IT_DATA-WRBTRC = IT_DATA-WRBTR * - 1.
ENDIF.
ENDIF.
APPEND IT_DATA.
IT_DATA-VBELNR = IT_BKPF-BELNR.
IT_DATA-BELNR = ' '.
IT_DATA-GJAHR = ' '.
IT_DATA-BLDAT = ' '.
IT_DATA-BLART = ' '.
IT_DATA-ZUONR = ' '.
TDSBELNR
IF NOT WRK_TDSWRBTR IS INITIAL.
IT_DATA-XBLNR = 'TDS/ECess'.
IT_DATA-WRBTR = WRK_TDSWRBTR.
CLEAR WRK_BSCHL.
IF NOT WRK_TDSWRBTR IS INITIAL.
IT_DATA-XBLNR = 'TDS/ECess'.
IT_DATA-WRBTR = WRK_TDSWRBTR.
SELECT SINGLE BSCHL INTO WRK_BSCHL FROM BSIS
WHERE BELNR = IT_BELNR-BELNR
AND GJAHR = IT_BELNR-GJAHR
AND QSSKZ NE SPACE
AND QSSKZ NE 'XX'
AND BSCHL = '40'.
IF WRK_BSCHL IS INITIAL.
SELECT SINGLE BSCHL INTO WRK_BSCHL FROM BSAS
WHERE BELNR = IT_BELNR-BELNR
AND GJAHR = IT_BELNR-GJAHR
AND QSSKZ NE SPACE
AND QSSKZ NE 'XX'
AND BSCHL = '40'.
ENDIF.
IF WRK_BSCHL IS INITIAL.
IT_DATA-WRBTR = IT_DATA-WRBTR * - 1.
ENDIF.
IT_DATA-WRBTRC = IT_DATA-WRBTR.
APPEND IT_DATA.
ENDIF.
ENDIF.
ENDLOOP.
IT_DATA-VBELNR = IT_BKPF-BELNR.
IT_DATA-BELNR = ' '.
IT_DATA-GJAHR = ' '.
IT_DATA-BLDAT = ' '.
IT_DATA-BLART = ' '.
IT_DATA-ZUONR = ' '.
TDSVBELNR
CLEAR WRK_TDSWRBTR.
SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSIS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND QSSKZ NE SPACE
AND BUKRS IN S_BUKRS
AND QSSKZ NE 'XX'
AND QSSKZ NE 'S1'
AND QSSKZ NE 'S2'.
IF WRK_TDSWRBTR IS INITIAL.
SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSAS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND QSSKZ NE SPACE
AND QSSKZ NE 'XX'
AND AUGBL = SPACE
AND BUKRS IN S_BUKRS
AND QSSKZ NE 'S1'
AND QSSKZ NE 'S2'.
ENDIF.
**INSERTED BY PALANI ON 01.04.2006
IF WRK_TDSWRBTR IS INITIAL.
SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSIS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR.
ENDIF.
***END BY PALANI.
IF NOT WRK_TDSWRBTR IS INITIAL.
IT_DATA-XBLNR = 'TDS/ECess'.
IT_DATA-WRBTR = WRK_TDSWRBTR.
IT_DATA-WRBTR = IT_DATA-WRBTR * - 1.
IT_DATA-WRBTRC = IT_DATA-WRBTR.
APPEND IT_DATA.
ENDIF.
IT_DATA-VBELNR = IT_BKPF-BELNR.
IT_DATA-BELNR = ' '.
IT_DATA-GJAHR = ' '.
IT_DATA-BLDAT = ' '.
IT_DATA-BLART = ' '.
IT_DATA-ZUONR = ' '.
*DiscountVBELNR
CLEAR WRK_DEDWRBTR.
SELECT SUM( WSKTO ) INTO WRK_DEDWRBTR FROM BSE_CLR
WHERE BELNR_CLR = IT_BKPF-BELNR
AND GJAHR_CLR = IT_BKPF-GJAHR
AND BUKRS IN S_BUKRS.
IF NOT WRK_DEDWRBTR IS INITIAL.
IT_DATA-XBLNR = 'Discount'.
IT_DATA-WRBTR = WRK_DEDWRBTR.
IT_DATA-WRBTR = IT_DATA-WRBTR * - 1.
IT_DATA-WRBTRC = IT_DATA-WRBTR.
APPEND IT_DATA.
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT IT_BKPF.
SELECT SINGLE BUTXT ORT01 LAND1 INTO (IT_DATA-BUTXT,IT_DATA-ORT01,IT_DATA-LAND1)
FROM T001
WHERE BUKRS IN S_BUKRS.
MODIFY IT_DATA INDEX SY-TABIX.
*ENDLOOP.
ENDFORM. " select_data
*& Form print_data
text
--> p1 text
<-- p2 text
FORM PRINT_DATA .
PERFORM OPEN_FORM.
PERFORM WRITE_FORM.
PERFORM CLOSE_FORM.
LEAVE LIST-PROCESSING.
ENDFORM. " print_data
*& Form open_form
text
--> p1 text
<-- p2 text
FORM OPEN_FORM .
CALL FUNCTION 'OPEN_FORM'
EXPORTING
FORM = 'ZFI_PAY_ADV_MODN'
LANGUAGE = SY-LANGU.
ENDFORM. " open_form
*& Form write_form
text
--> p1 text
<-- p2 text
FORM WRITE_FORM .
LOOP AT IT_BKPF.
IF SY-TABIX GT 1.
AT NEW BELNR.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'NEW'
WINDOW = 'MAIN'.
ENDAT.
ENDIF.
LOOP AT IT_DATA WHERE VBELNR = IT_BKPF-BELNR.
DATA : BEGIN OF IT_HKONT OCCURS 0,
HKONT LIKE BSIS-HKONT,
WRBTR LIKE BSIS-WRBTR,
END OF IT_HKONT.
REFRESH IT_HKONT.
CLEAR IT_HKONT.
SELECT HKONT WRBTR INTO TABLE IT_HKONT FROM BSIS
WHERE BELNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR.
DELETE IT_HKONT WHERE HKONT(3) NE '005'.
IF NOT IT_HKONT[] IS INITIAL.
LOOP AT IT_HKONT.
IT_DATA-TOTAL = IT_DATA-TOTAL + IT_HKONT-WRBTR.
MODIFY IT_DATA.
ENDLOOP.
ELSE.
IT_DATA-TOTAL = IT_DATA-TOTAL + IT_DATA-WRBTR.
MODIFY IT_DATA.
ENDIF.
ENDLOOP.
LOOP AT IT_DATA WHERE VBELNR = IT_BKPF-BELNR.
IF IT_DATA-BLART EQ ''. " for invoice Date
IT_DATA-BLDAT = IT_BKPF-BLDAT.
ENDIF.
IT_DATA-LIFNR = IT_BKPF-LIFNR.
IT_DATA-KUNNR = IT_BKPF-KUNNR.
IT_DATA-NAME1 = IT_BKPF-NAME1.
IT_DATA-NAME2 = IT_BKPF-NAME2.
IT_DATA-NAME3 = IT_BKPF-NAME3.
IT_DATA-NAME4 = IT_BKPF-NAME4.
IT_DATA-CITY1 = IT_BKPF-CITY1.
IT_DATA-REGION = IT_BKPF-REGION.
IT_DATA-COUNTRY = IT_BKPF-COUNTRY.
IT_DATA-STREET = IT_BKPF-STREET.
IT_DATA-LANDX = IT_BKPF-LANDX.
IT_DATA-BEZEI = IT_BKPF-BEZEI.
CLEAR : WRK_HBKID , WRK_BANKL.
SELECT SINGLE CHECT ZALDT HBKID INTO
(IT_DATA-CHECT , IT_DATA-ZALDT , WRK_HBKID)
FROM PAYR
WHERE VBLNR = IT_BKPF-BELNR
AND GJAHR = IT_BKPF-GJAHR
AND VOIDR = '00'.
SELECT SINGLE BANKL INTO WRK_BANKL
FROM T012
WHERE HBKID = WRK_HBKID.
AND spras EQ 'EN'.
SELECT SINGLE BANKA INTO IT_DATA-BANKA
FROM BNKA
WHERE BANKL = WRK_BANKL.
MODIFY IT_DATA.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'ITEMS'
WINDOW = 'MAIN'.
ENDLOOP.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'TOTAL'
WINDOW = 'MAIN'.
ENDLOOP.
ENDFORM. " write_form
*& Form close_form
text
--> p1 text
<-- p2 text
FORM CLOSE_FORM .
CALL FUNCTION 'CLOSE_FORM' .
ENDFORM. " close_formHi
Could you tell us what fields are not updated?
Regards,
Raj -
What are the client requirements to use BI OnDemand?
What are the requirements on the client side for using the bi.ondemand.com site. I would like to know what RAM amount is neccessary as well as the Operating System version.
The bi.ondemand.com product is a off premise cloud based computing platform. Being browser based, the only requirements is that you are using a browser at a version level higher than IE6. IE7, IE8, and Firefox are the supported browsers.
When opening bi.ondemand.com with an unsupported browser such as Opera, you may see a dialog box explaining that it is not supported, but you will find that there will not be any problems. Some browsers just have not been fully tested yet.
There is no real requirements concerning the amount of ram as long as there is enough to support the running of the browser. -
Saved Document Number needed after saving the customer company code data
I created a customer than I saved the company code data and forgot to note the number the saved document number. Next time I went to the same customer again and I wanted to find out the saved document number for the same customer but did not know where to look for. Can you tell me what I should do?
ThanksHi,
For any customer there will be general data,Company code data and sales area data.
Even though you maintain the general data or company code data only one numebr will be generated.
If you want to maintain some other data as comapny code data and sales area data we will goto XD02 and enter the company code,sales area nd customer number in the initial screen and we will maintain that data.
I think you are thinking that different number will be created for different data which is wrong.
So enter the same number and company code in XD03 and view your data.
Regards,
Krishna. -
Document number generation w. ref to Part no.
Hi Gurus,
We have created a template to upload Cutover data in CV01N with the following series.
Document
Document Type
Document Part
Document version
Description
1
DWG
000
00
TEST TEST TEST
2
DWG
000
00
TEST TEST TEST
3
DWG
000
00
TEST TEST TEST
3
DWG
001
00
TEST TEST TEST
3
DWG
002
00
TEST TEST TEST
4
DWG
000
00
TEST TEST TEST
when the input data is taken from Document Field i.e 1-4, system is generating an internal number as following:
PS-2014-DWG-802864
PS-2014-DWG-802863
PS-2014-DWG-802862
PS-2014-DWG-802861
As the system have to check the Input which we are giving in the excel sheet (Document) and generating the new number also validate the part number. If the Document Part number has a series like 000,001,002 it should not generate a new number, but should take the same system generated number and proceed like the following.
Document
Document Type
Document Part
Document version
Description
PS-2014-DWG-802863
DWG
000
00
TEST TEST TEST
PS-2014-DWG-802863
DWG
001
00
TEST TEST TEST
PS-2014-DWG-802863
DWG
002
00
TEST TEST TEST
Please let me know if there is any enhancement / solution to achieve this scenario.
I appreciate for your help.
Regards
NaveenHi Naveen,
For data with document part & version as 000 & 00, you provide only the document type as input but in case of document part with 001, 002... you need to provide DIR number, document type, document part as inputs in your Z program.
First, you need to have separate sheets for DIR's without document part & version and upload it for creating the DIR numbers. Then update new created DIR numbers in the second sheet where document part & versions are maintained and upload the same.
You can have one Z program which checks document part & version (If it is 000 & 00), create the internal numbers and if document part & version is maintained, then take DIR number maintained in the sheet as input of DIR creation
Regards,
Ravi -
Document Number generation in SRM
Hi All,
We have allocated a number range to various documents ( PO's, Contracts & Shopping carts ) in SRM SPRO. During transactions such as creating PO's & Contracts the number range gets generated even before saving the order.
This leads to a situation where the number range gets allocated even when the order is not saved. Due to this problem we have observed that the number remains unconsumed & there is a skip in the PO numbers.
Please provide a suitable solution to this issue. Also, confirm if this is a part of SRM standard functionality.
Regards,
Srinivas ReddyHi Srinivas,
Number ranges in the system are buffered in the main memory of
the application server. The server reads the next 10 free numbers
when starting up or when these 10 numbers are consumed. The symptom
you described can happen as follows:
Server 1 has 10 numbers 2,3,4,5,6,7,8,9,10,11 in memory.
Server 2 has 10 numbers 12,13,14,15,16,17,18,19,20,21 in memory.
A user logged on server 1 creates a document with number 2. Another
user creates the next document. If this user is logged on server 2,
this document will have the number 12. If you shut down a server,
the numbers not used are lost. This causes a gap in the sequence.
In case of having one server only, a missing number can happen when
rebooting the server. If the server had number range 2 - 11 in memory
and the last created document was no. 3, the next number after
rebooting the server will be no. 12.
To avoid having gaps in the number range, turn buffering off using
transaction SNUM for a particular object, REQREQ (shopping carts),
for example. In that case the system reads the number from the database
strictly in order. However, please understand that buffering is
turned for performance reasons.
Regards
Jason -
Double Document number Generation from Z-tables -urgent
I have a Z table with a number range and my user performs some task and when they press save button , a number is selected from the Z table, now problem is that when two users press ave at same instant same number is assigned to both for different entries -- try to sort this urgently
Hi Joshi,
Use Locks or Enque and Deque statements. Refer the following link.
http://help.sap.com/saphelp_47x200/helpdata/en/a3/df5b1ee1bed348b198719e50af835d/frameset.htm
regards,
Chandra.
Note: Please reward if helpful. -
How create and work with Z output to meet the client requirment?
hi gurus,
I am SD functional consultant and need ur help
Please explain me how create and work with Z output .
How we arrange and change the fields in header and footer
where and how we do changes in Layouts setting and SAP scripts to meet the user requirments.
pls forward functional or Tech spec of Z output
points will be rewarded
thanx & regards
shabnumHi shabnum ,
I hope you can do it.
Goto SE71, enter form name--> click change
1) click in page window command button, Identify the header and footer window
2) single click on Header window and click change button(pencil symbol)
3) identify the fields and change order of the fields
I hope this will help to solve your issue
Regards,
SaiRam -
Hi,
I have one query that how to enhance the standard default variant (SAP&COOIS) for standard transaction COOIS.
If any one know solution pls share.
Thanks & Regards,
J.GoudHi Maine,
Thanks for your reply.
As you mentioned for your own program, you can control the parameter "I_SAVE", when calling "REUSE_ALV_GRID_DISPLAY".
so already i have use the same logic and control the parameter through I_SAVE and here i am calling method ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY instead of "REUSE_ALV_GRID_DISPLAY".
and it works fine when we execute the report but the logic doesnt work when the user tries to change and save the layout variant on the output screen of the report.
Regards,
Satish
Maybe you are looking for
-
How can I change my iCloud email address without losing all my data and what not???? Please help...
-
Bug 6002713: Describe table@db_link gives an error that the object does not
Not sure if this is correct place to report on a known bug, can't seem to find a bug site/database on the SQL Developer home page. Anyway in SQL Developer 1.2.1.32.13 release notes it says that the bug that stops you describing tables via a database
-
How to add new fields in vendor registation
Hi All, I am Customizing a Standard BSP Page of supplier detail (SRMSUS) For that I have copied that page to a Z object . I have to add 2 fields in that Page. Anybody has got any idea How to go further. Do I need to change the class?? Any suggestion
-
No video or screen sharing on iChat 4 between identical MBP's and OS
Hi, like many others, i'm experiencing problems with audio/video calls and screen sharing on iChat 4. It's really important since my dad lives abroad and is 80 years old, so i need to help him out by taking over control of his MacBookPro when he need
-
I was given photoshop elements 12 as a gift and when I try to download it the download will not complete and then it says that it is a counterfeit.