Hello Experts,
Thank you for your help on this issue , I was able to create Sales Return & purchase return.
However I have new requirement to create Sales return & Purchase return in Intercompany.
I am able to create Sales return & purchase return in one company but not in other.
The relation is like below:
First company:
SI-JP-000XXX --> Project Code: SO-JP-000YYY, External Document number: PO-ES-00ZZ00
SO-JP-000MMM --> Project Code: SO-JP-000YYY, External Document number: PO-ES-00ZZ00
PI-JP-000NNN --> Project Code: SO-JP-000YYY, Quote No. : PO-JP-000OOO
PO-JP-000OOO --> Project Code: SO-JP-000YYY
---------------------------------
Second company:
PPI-ES-00AAAA --> Project Code: SO-ES-00BBBB, Order No.: PO-ES-00ZZ00 , Vendor Invoice No. SI-JP-000TTT
PO-ES-00CC00 --> Project Code: SO-ES-00BBBB
SI-ES-00DDDD --> Project Code: SO-ES-00BBBB, External Document number: SQ-ES-FFFFF/VARIOUS
SO-ES-00EEEE --> Project Code: SO-ES-00BBBB, External Document number: SQ-ES-FFFFF/VARIOUS
So in First company external document number of posted sales invoice is equal to Order no. of Posted purchase invoice in second company.
In second company Project Code of Posted purchase invoice is equal to Project Code of Posted sales invoice In second company.
I try to make the transaction in second company by changing the company but it does not work
Code of the function like below:
SReturnDrop(SIINO : Code[20];ICICCODE : Code[20])
MESSAGE('Intercompany Drop Return Initiated');
SalesHeader.INIT;
SalesHeader."Document Type":= SalesHeader."Document Type"::"Return Order";
SalesHeader.VALIDATE("No.");
SalesHeader.INSERT(TRUE);
CopyDocMgt.SetProperties(TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE);
CopyDocMgt.CopySalesDoc(DocType::"Posted Invoice",SIINO,SalesHeader);
SalesHeader."Posting Date" := WORKDATE;
SalesHeader.MODIFY;
MESSAGE('%1',SalesHeader."No.");
IF CONFIRM('Do you want to create Purchase Return',TRUE) THEN BEGIN
PurchaseInvHeader.SETRANGE("Shortcut Dimension 2 Code",SalesInvHeader."Shortcut Dimension 2 Code");
IF PurchaseInvHeader.FINDSET() THEN BEGIN
MESSAGE('%1',PurchaseInvHeader."No.");
PurchaseHeader.INIT;
PurchaseHeader."Document Type":= PurchaseHeader."Document Type"::"Return Order";
PurchaseHeader.VALIDATE("No.");
PurchaseHeader.INSERT(TRUE);
CopyDocMgt.SetProperties(TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE);
CopyDocMgt.CopyPurchDoc(DocType::"Posted Invoice",PurchaseInvHeader."No.",PurchaseHeader);
PurchaseHeader."Posting Date" := WORKDATE;
PurchaseHeader.MODIFY;
MESSAGE('%1',SalesInvHeader."External Document No.");
MESSAGE('%1',PurchaseHeader."No.");
MESSAGE('Purchase Return order & Sales Return created');
SMTP1.CreateMessage('nsc','test@nscglobal.com','varun.tripathi@nscglobal.com','SRET/PRET DETAILS','',TRUE);
SMTP1.AppendBody('Hello Team,<BR><BR>');
SMTP1.AppendBody('SRET & PRET has been generated<BR>');
SMTP1.AppendBody('Please check & Proceed further<BR>');
SMTP1.AppendBody('SRET:');
SMTP1.AppendBody(SalesHeader."No.");
SMTP1.AppendBody('<BR>');
SMTP1.AppendBody('SRET:');
SMTP1.AppendBody(PurchaseHeader."No.");
SMTP1.Send();
// END;
// END;
//COMMIT;
//CallWebServiceRET(ICPartner.Code,DocNumber);// needs to see again
//RET1.ICRetChngComp(SIINO,ICICCODE);
//======================================================================================================
ICPartner.RESET;
//MESSAGE('%1',ICICCODE);
ICPartner.SETRANGE(Code,ICICCODE);
IF ICPartner.FINDFIRST THEN BEGIN
//=============================================
SalesInvHeader2.RESET;
SalesInvHeader2.SETRANGE("No.",SIINO);
IF SalesInvHeader2.FINDFIRST() THEN
T:= SalesInvHeader2."External Document No.";
// MESSAGE('%1',T);
PurchaseInvHeader2.RESET;
PurchaseInvHeader2.CHANGECOMPANY(ICICCODE);
//SalesInvHeader2.RESET;
PurchaseInvHeader2.SETRANGE("Order No.",T);
IF PurchaseInvHeader2.FINDFIRST() THEN BEGIN
//MESSAGE('%1',PurchaseInvHeader2."Order No.");
//MESSAGE('%1',PurchaseInvHeader2."No.");
H:= PurchaseInvHeader2."No.";
//MESSAGE('%1',H);
PurchaseInvHeader2.GET(Comp.Name);
SalesInvHeader2.CHANGECOMPANY(ICICCODE);
SalesInvHeader2.SETRANGE("Shortcut Dimension 2 Code", PurchaseInvHeader2."Shortcut Dimension 2 Code");
//SalesInvHeader2.SETRANGE("External Document No.",PurchaseHeader."Purchase Order No.");
IF SalesInvHeader2.FINDFIRST THEN BEGIN
DocNumber := SalesInvHeader2."No.";
//MESSAGE('%1',DocNumber);
// added new
SalesInvLine2.SETFILTER("Document No.",DocNumber);
IF SalesInvLine2.FINDFIRST() THEN BEGIN
//IF SalesInvLine."Purchasing Code" = 'KIT DROP' THEN BEGIN
//ICReturn;
//END
//ELSE
//NormalReturn;
IF SalesInvLine2."Drop Shipment" = TRUE THEN BEGIN
MESSAGE('Drop');
SalesHeader2.INIT;
SalesHeader2."Document Type":= SalesHeader2."Document Type"::"Return Order";
SalesHeader2.VALIDATE("No.");
SalesHeader2.INSERT(TRUE);
CopyDocMgt.SetProperties(TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE);
CopyDocMgt.CopySalesDoc(DocType::"Posted Invoice",SalesInvHeader2."No.",SalesHeader2);
SalesHeader2."Posting Date" := WORKDATE;
SalesHeader2.MODIFY;
MESSAGE('%1',SalesHeader2."No.");
IF CONFIRM('Do you want to create Purchase Return',TRUE) THEN BEGIN
PurchaseInvHeader2.SETRANGE("Shortcut Dimension 2 Code",SalesInvHeader2."Shortcut Dimension 2 Code");
IF PurchaseInvHeader2.FINDSET() THEN BEGIN
MESSAGE('%1',PurchaseInvHeader2."No.");
PurchaseHeader2.INIT;
PurchaseHeader2."Document Type":= PurchaseHeader2."Document Type"::"Return Order";
PurchaseHeader2.VALIDATE("No.");
PurchaseHeader2.INSERT(TRUE);
CopyDocMgt.SetProperties(TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE);
CopyDocMgt.CopyPurchDoc(DocType::"Posted Invoice",PurchaseInvHeader2."No.",PurchaseHeader2);
PurchaseHeader2."Posting Date" := WORKDATE;
PurchaseHeader2.MODIFY;
MESSAGE('%1',PurchaseHeader2."No.");
MESSAGE('Purchase Return order & Sales Return created');
SMTP1.CreateMessage('nsc','test@nscglobal.com','varun.tripathi@nscglobal.com','SRET/PRET DETAILS','',TRUE);
SMTP1.AppendBody('Hello Team,<BR><BR>');
SMTP1.AppendBody('SRET & PRET has been generated<BR>');
SMTP1.AppendBody('Please check & Proceed further<BR>');
SMTP1.AppendBody('SRET:');
SMTP1.AppendBody(SalesHeader2."No.");
SMTP1.AppendBody('<BR>');
SMTP1.AppendBody('SRET:');
SMTP1.AppendBody(PurchaseHeader2."No.");
SMTP1.Send();
END
ELSE
MESSAGE('Matching invoice header not found');
END
ELSE
MESSAGE('Sales return_normal Created','%1',SalesHeader."No.",'No Purchase Return Created');
END
ELSE
MESSAGE('Normal');
SalesHeader2.INIT;
SalesHeader2."Document Type":= SalesHeader2."Document Type"::"Return Order";
SalesHeader2.VALIDATE("No.");
SalesHeader2.INSERT(TRUE);
CopyDocMgt.SetProperties(TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE);
CopyDocMgt.CopySalesDoc(DocType::"Posted Invoice",SalesInvHeader2."No.",SalesHeader2);
SalesHeader2."Posting Date" := WORKDATE;
SalesHeader2.MODIFY;
MESSAGE('%1',SalesHeader2."No.");
IF CONFIRM('Do you want to create Purchase Return',TRUE) THEN BEGIN
PurchaseInvHeader2.SETRANGE("Shortcut Dimension 2 Code",SalesInvHeader2."Shortcut Dimension 2 Code");
IF PurchaseInvHeader2.FINDSET() THEN BEGIN
MESSAGE('%1',PurchaseInvHeader2."No.");
PurchaseHeader2.INIT;
PurchaseHeader2."Document Type":= PurchaseHeader2."Document Type"::"Return Order";
PurchaseHeader2.VALIDATE("No.");
PurchaseHeader2.INSERT(TRUE);
CopyDocMgt.SetProperties(TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE);
CopyDocMgt.CopyPurchDoc(DocType::"Posted Invoice",PurchaseInvHeader2."No.",PurchaseHeader2);
PurchaseHeader2."Posting Date" := WORKDATE;
PurchaseHeader2.MODIFY;
MESSAGE('%1',PurchaseHeader2."No.");
MESSAGE('Purchase Return order & Sales Return created');
SMTP1.CreateMessage('nsc','test@nscglobal.com','varun.tripathi@nscglobal.com','SRET/PRET DETAILS','',TRUE);
SMTP1.AppendBody('Hello Team,<BR><BR>');
SMTP1.AppendBody('SRET & PRET has been generated<BR>');
SMTP1.AppendBody('Please check & Proceed further<BR>');
SMTP1.AppendBody('SRET:');
SMTP1.AppendBody(SalesHeader2."No.");
SMTP1.AppendBody('<BR>');
SMTP1.AppendBody('SRET:');
SMTP1.AppendBody(PurchaseHeader2."No.");
SMTP1.Send();
END
ELSE
MESSAGE('Matching invoice header not found');
END
ELSE
MESSAGE('Sales return_normal Created','%1',SalesHeader."No.",'No Purchase Return Created');
END;
END;
END;
COMMIT;
END;
//=======================================================================================================================
END
ELSE
MESSAGE('Matching invoice header not found');
END
ELSE
MESSAGE('Sales return_normal Created','%1',SalesHeader."No.",'No Purchase Return Created');
Please help me get it working.
Thanks for help.