Pages

Banner 468 x 60px

 

Saturday, November 18, 2017

Upload NumberSequence using x++

0 comments
Upload NumberSequence using x++ :

static void Addit_Upload_FA_Numseq(Args _args)
{
    NumberSequenceTable                 numberSeqTable;
    NumberSequenceScope                 numberSeqScope;
    container                           segments;
    str                                 annotatedFormat, format;

    FileNameFilter                      filter;
    Dialog                              dialog;
    DialogField                         field;
    FilenameOpen                        filenameOpen;

    COMVariant                          COMVariant;
    COMVariantType                      type;
    SysExcelApplication                 app;
    SysExcelWorkbooks                   Workbooks;
    SysExcelWorkbook                    Workbook;
    SysExcelWorksheets                  Worksheets;
    SysExcelWorksheet                   Worksheet1, Worksheet2;
    SysExcelCells                       Cells;
    SysExcelCell                        Cell;
    int                                 row,j;
    #excel
    ;

    filter = ["*.xlsx","*.xls"];

    dialog = new Dialog("Choose Excel");
    field = dialog.addField(extendedTypeStr(filenameOpen), "File Name");
    dialog.run();

    if (dialog.closedOK())
    {
         app = SysExcelApplication::construct();
         Workbooks = app.Workbooks();
         COMVariant = new COMVariant();
         COMVariant.bStr(field.value());
         Workbook = Workbooks.Add(COMVariant);
         Worksheets = Workbook.worksheets();
         Worksheet1 = Worksheets.itemFromNum(1);
         Cells = Worksheet1.Cells();
    }
        // Purchase Order Header pada sheet 1
        Worksheet1 = Worksheets.itemFromNum(1);
        Cells = Worksheet1.cells();

        row  = 2;
        type = cells.item(row, 1).value().variantType();

    ttsBegin;
    while (Cells.item(row, 2).value().variantType() != COMVariantType::VT_EMPTY)
    {

        select  numberSeqScope
                where numberSeqScope.DataArea == 'BSP';

        segments = conNull();

        segments += [[-1, cells.item(row, 1).value().bStr()]];
        segments += [[-2, cells.item(row, 6).value().bStr()]];

        annotatedFormat         = NumberSeq::createAnnotatedFormatFromSegments(segments);
        //format                  = NumberSeq::createAnnotatedFormatFromSegments(segments, false);

        numberSeqTable.clear();
        numberSeqTable.NumberSequence           = cells.item(row, 1).value().bStr();
        numberSeqTable.Txt                      = cells.item(row, 7).value().bStr();
        numberSeqTable.AnnotatedFormat          = annotatedFormat;
        numberSeqTable.NumberSequenceScope      = numberSeqScope.RecId;
        numberSeqTable.Format                   = cells.item(row, 5).value().bStr() + cells.item(row,
6).value().bStr();
        numberSeqTable.Continuous               = NoYes::Yes;
        numberSeqTable.Highest                  = 999;
        numberSeqTable.Lowest                   = 1;
        numberSeqTable.NextRec                  = 1;

        if(cells.item(row, 1).value().bStr() != '')
        {
            row++;
            type = cells.item(row, 1).value().variantType();
            numberSeqTable.insert();
        }
    }
    ttsCommit;

    info("Asset Group 30 Group has been finished");
}


0 comments:

A financial dimension value is based on the record and has been used on a transaction. You cannot delete the record

  SOLUTION delete in table DimensionAttributeLevelValue base on Bank Account  :  and Delete the Bank Account FINISH