Thursday, July 25, 2024

Dyncraft_Barcode



As many of you are aware or are noticing, each sprint the scrum masters are planning a variety or projects/programs.  As we presented a few weeks ago at our all-hands, we are doing our best to adjust but yet we have additional work coming at us from ITD Security team.  Adjustments have been made and the Scrum masters are aware - please do what we can to get these requests groomed and worked as quickly as possible.  Going forward, please only work on IR's that are P1 or P2, for the application team.  All others will be planned during sprint planning.  For Operations continue to focus as a first in first out process (FIFO) by priority (meaning P3's should be handled first).  At this time, SR's will remain with a 10 day SLA.  The management team continues to monitor the SR efforts so we can adjust based on customer asks.  Overall this means that you need to focus on your sprint items, so we can support the business requests (SR/IR's) later in the sprints.


Text fields on the label: Date of programming, Truck Plant, Chassis #, Sequence number, Firmware Version, test result
Label should be triggered by DAVIE flashing process.
Label dimensions must fit within X by X.
DMB can transmit Chassis information.
Requirement on the drawing to have a removable label.

Notes:
Truck plant is the second character in the chassis number prefix.  DAVIE has the two-character prefix in the chassis.
Spike needed with Joonbo- Options for triggering a label from DAVIE
Dependency - DAVIE backoffice needed before this story can be worked.
There will only be one printer and one flash station.
Order Type: ZCAS






 










USE [EWI_Admin]

GO

/****** Object:  StoredProcedure [dbo].[DynaSequencerFuelTank_PrintLabelK1]    Script Date: 7/25/2024 4:32:46 PM ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO


-- =============================================

-- Author: Brad Schmidt

-- Create date: 11/15/2019

-- Modified: 2.3.20 added import and print date cols, update print col

-- 2.5.20 move all changes from the testing script,  

-- 10.28.20 split fuel side right was showing hydraulic for engraver field

-- -- IR749285 - Printer machine is changed from DYNMCKZ015 to DYNMCKZ017

--

-- Description: Prints single fuel tank label from EWI sequencer screen

-- NOTE: for split tanks if "A" postion is 1, Hydraulic tanks is 1st(left) and Fuel tanks is 2nd(right)

--   if "A" position is 2, its reversed, fuel 1st/left and hydro 2nd/right

-- =============================================

ALTER PROCEDURE [dbo].[DynaSequencerFuelTank_PrintLabelK1]

@id INT

AS

BEGIN

    SET NOCOUNT ON;

DECLARE @result BIT,

@Salvagnini VARCHAR(20),

@SalvagniniL2 VARCHAR(20),

@Seam VARCHAR(20),

@SeamL2 VARCHAR(20),

@LongSeam INT,

@Raw VARCHAR(20),

@RawL2 VARCHAR(20),

@Shell VARCHAR(20),

@ShellL2 VARCHAR(20),

@Assembly VARCHAR(25),

@Chassis VARCHAR(10),

@Sequence VARCHAR(10),

@Motoman VARCHAR(35),

@MotomanL2 VARCHAR(35),

@Engraver VARCHAR(40),

@EngraverL2 VARCHAR(40),

@TankType CHAR(1),

@Title VARCHAR(40),

@TitleL2 VARCHAR(40),

@EXP VARCHAR(200)

--@K2Fitting VARCHAR(40);


--SELECT @Salvagnini = seq.PartNumber

-- ,@SalvagniniL2 = seq.PartNumber

SELECT @Salvagnini = CASE 

WHEN SUBSTRING(seq.PartNumber,4,1) = '0' THEN seq.PartNumber

WHEN SUBSTRING(seq.PartNumber,4,1) = '1' THEN CONCAT(seq.PartNumber, '_H')

WHEN SUBSTRING(seq.PartNumber,4,1) = '2' THEN seq.PartNumber

WHEN SUBSTRING(seq.PartNumber,4,1) = '3' THEN seq.PartNumber

ELSE 'NA'

END

,@SalvagniniL2 = CASE 

WHEN SUBSTRING(seq.PartNumber,4,1) = '0' THEN seq.PartNumber

WHEN SUBSTRING(seq.PartNumber,4,1) = '1' THEN seq.PartNumber

WHEN SUBSTRING(seq.PartNumber,4,1) = '2' THEN CONCAT(seq.PartNumber, '_H')

WHEN SUBSTRING(seq.PartNumber,4,1) = '3' THEN seq.PartNumber

ELSE 'NA'

END

,@Seam = CASE ---check with tim if keep it the same...

WHEN SUBSTRING(seq.PartNumber,4,1) = '0' THEN CONCAT(kf.TankDiameter, '/L', kf.TankLength) 

WHEN SUBSTRING(seq.PartNumber,4,1) = '1' THEN CONCAT(ksh.TankDiameter, '/L', ksh.TankLength)

WHEN SUBSTRING(seq.PartNumber,4,1) = '2' THEN CONCAT(ksf.TankDiameter, '/L', ksf.TankLength)

WHEN SUBSTRING(seq.PartNumber,4,1) = '3' THEN CONCAT(kh.TankDiameter, '/L', kh.TankLength)

ELSE 'NA'

END

,@LongSeam = CASE ---check with tim if keep it the same...

WHEN SUBSTRING(seq.PartNumber,4,1) = '0' THEN     

--CONCAT(kf.TankDiameter, '/L', kf.TankLength) 

(SELECT [LSWid] FROM [EWI_Admin].[dbo].[FuelTankLongSeam]  WHERE  [Diameter]=kf.TankDiameter AND [Length]=kf.TankLength)

WHEN SUBSTRING(seq.PartNumber,4,1) = '1' THEN 

--CONCAT(ksh.TankDiameter, '/L', ksh.TankLength)

(SELECT [LSWid] FROM [EWI_Admin].[dbo].[FuelTankLongSeam]  WHERE  [Diameter]=ksh.TankDiameter AND [Length]=ksh.TankLength)

WHEN SUBSTRING(seq.PartNumber,4,1) = '2' THEN 

--CONCAT(ksf.TankDiameter, '/L', ksf.TankLength)

(SELECT [LSWid] FROM [EWI_Admin].[dbo].[FuelTankLongSeam]  WHERE  [Diameter]=ksf.TankDiameter AND [Length]=ksf.TankLength)

WHEN SUBSTRING(seq.PartNumber,4,1) = '3' THEN 

--CONCAT(kh.TankDiameter, '/L', kh.TankLength)

(SELECT [LSWid] FROM [EWI_Admin].[dbo].[FuelTankLongSeam]  WHERE  [Diameter]=kh.TankDiameter AND [Length]=kh.TankLength)

ELSE 'NA'

END

,@SeamL2 = CASE 

WHEN SUBSTRING(seq.PartNumber,4,1) = '0' THEN NULL

WHEN SUBSTRING(seq.PartNumber,4,1) = '1' THEN CONCAT(ksf.TankDiameter, '/L', ksf.TankLength)

WHEN SUBSTRING(seq.PartNumber,4,1) = '2' THEN CONCAT(ksh.TankDiameter, '/L', ksh.TankLength)

WHEN SUBSTRING(seq.PartNumber,4,1) = '3' THEN NULL

ELSE 'NA'

END

,@Raw = CASE 

WHEN SUBSTRING(seq.PartNumber,4,1) = '0' THEN kf.RawFamily 

WHEN SUBSTRING(seq.PartNumber,4,1) = '1' THEN ksh.RawFamily

WHEN SUBSTRING(seq.PartNumber,4,1) = '2' THEN ksf.RawFamily

WHEN SUBSTRING(seq.PartNumber,4,1) = '3' THEN kh.RawFamily

ELSE 'NA'

END

,@RawL2 = CASE 

WHEN SUBSTRING(seq.PartNumber,4,1) = '0' THEN NULL

WHEN SUBSTRING(seq.PartNumber,4,1) = '1' THEN ksf.RawFamily

WHEN SUBSTRING(seq.PartNumber,4,1) = '2' THEN ksh.RawFamily

WHEN SUBSTRING(seq.PartNumber,4,1) = '3' THEN NULL

ELSE 'NA'

END

,@Shell = 'NA'

,@Assembly = seq.PartNumber

,@Sequence = seq.SequenceNumber

,@Chassis = seq.ChassisNumber

--,@Motoman = seq.PartNumber ---confirm just want assembly instead of: CONCAT(RIGHT('   ' + CAST(ld.TankCapacity AS VARCHAR(3)), 3), '.F.', seq.PartNumber)

,@Motoman = CASE 

WHEN SUBSTRING(seq.PartNumber,4,1) = '0' THEN seq.PartNumber

WHEN SUBSTRING(seq.PartNumber,4,1) = '1' THEN 'N/A'

WHEN SUBSTRING(seq.PartNumber,4,1) = '2' THEN seq.PartNumber

WHEN SUBSTRING(seq.PartNumber,4,1) = '3' THEN 'N/A'

ELSE 'NA'

END

,@MotomanL2 = CASE 

WHEN SUBSTRING(seq.PartNumber,4,1) = '0' THEN seq.PartNumber

WHEN SUBSTRING(seq.PartNumber,4,1) = '1' THEN seq.PartNumber

WHEN SUBSTRING(seq.PartNumber,4,1) = '2' THEN 'N/A'

WHEN SUBSTRING(seq.PartNumber,4,1) = '3' THEN 'N/A'

ELSE 'NA'

END

,@Engraver = CASE 

WHEN SUBSTRING(seq.PartNumber,4,1) = '0' THEN CONCAT(LEFT(CAST(kf.TankCapacity AS VARCHAR(3)) + '   ', 3), '.F .',seq.PartNumber)

WHEN SUBSTRING(seq.PartNumber,4,1) = '1' THEN CONCAT(ksh.TankCapacity, '.H .',seq.PartNumber)

WHEN SUBSTRING(seq.PartNumber,4,1) = '2' THEN CONCAT(LEFT(CAST(ksf.TankCapacity AS VARCHAR(3)) + '   ', 3), '.F .',seq.PartNumber)

WHEN SUBSTRING(seq.PartNumber,4,1) = '3' THEN CONCAT(kh.TankCapacity, '.H .',seq.PartNumber)

ELSE 'NA'

END

,@EngraverL2 = CASE 

WHEN SUBSTRING(seq.PartNumber,4,1) = '0' THEN NULL

WHEN SUBSTRING(seq.PartNumber,4,1) = '1' THEN CONCAT(LEFT(CAST(ksf.TankCapacity AS VARCHAR(3)) + '   ', 3), '.F .',seq.PartNumber)

WHEN SUBSTRING(seq.PartNumber,4,1) = '2' THEN CONCAT(ksh.TankCapacity, '.H .',seq.PartNumber)

WHEN SUBSTRING(seq.PartNumber,4,1) = '3' THEN NULL

ELSE 'NA'

END

,@TankType = SUBSTRING(seq.PartNumber,4,1)

,@Title = CASE 

WHEN SUBSTRING(seq.PartNumber,4,1) = '0' THEN 'FUEL'

WHEN SUBSTRING(seq.PartNumber,4,1) = '1' THEN 'SPLIT-HYDR(Left)'

WHEN SUBSTRING(seq.PartNumber,4,1) = '2' THEN 'SPLIT-FUEL(Left)'

WHEN SUBSTRING(seq.PartNumber,4,1) = '3' THEN 'HYDRAULIC'

ELSE 'NA'

END

,@TitleL2 = CASE 

WHEN SUBSTRING(seq.PartNumber,4,1) = '0' THEN NULL

WHEN SUBSTRING(seq.PartNumber,4,1) = '1' THEN 'SPLIT-FUEL(Right)'

WHEN SUBSTRING(seq.PartNumber,4,1) = '2' THEN 'SPLIT-HYDR(Right)'

WHEN SUBSTRING(seq.PartNumber,4,1) = '3' THEN NULL

ELSE 'NA'

END

--EXP barcode for chassis, sequence, K1 part, and K2 fitting

,@EXP = CONCAT(seq.ChassisNumber,'.', seq.SequenceNumber,'.', seq.PartNumber,'.',ftpm.K2Part)

--,@K2Fitting = etaf.FittingPN

  

--,ksh.*

--,ksf.*

--,seq.*

  FROM [EWI_Admin].[dbo].DynaSequencerFuelTank seq

  LEFT JOIN [EWI_Admin].[dbo].DynaK1FuelTankRef kf

ON SUBSTRING(seq.PartNumber,4,1) = '0'

   AND SUBSTRING(seq.PartNumber,5,1) = kf.Map

   AND kf.[Option] = 'B'

  LEFT JOIN [EWI_Admin].[dbo].DynaK1FuelTankRef ksh

ON SUBSTRING(seq.PartNumber,4,1) IN('1','2')

   AND SUBSTRING(seq.PartNumber,12,1) = ksh.Map

   AND ksh.[Option] = 'J'

  LEFT JOIN [EWI_Admin].[dbo].DynaK1FuelTankRef ksf

ON SUBSTRING(seq.PartNumber,4,1) IN('1','2')

   AND SUBSTRING(seq.PartNumber,5,1) = ksf.Map

   AND ksf.[Option] = 'B'

  LEFT JOIN [EWI_Admin].[dbo].DynaK1FuelTankRef kh

ON SUBSTRING(seq.PartNumber,4,1) = '3'

   AND SUBSTRING(seq.PartNumber,5,1) = kh.Map

   AND kh.[Option] = 'B'

   --Tanks and fittings join for K2 part number

   LEFT JOIN EWI_DataWarehouse.dbo.EXP_FuelTankPlumbingMatch AS ftpm

ON ftpm.K1Part = seq.PartNumber AND ftpm.MatchedLineSeqNbr = seq.SequenceNumber

WHERE seq.DynaSequencerFuelTankID = @id


IF (@Sequence IS NOT NULL)

BEGIN

--SELECT @Salvagnini Salvagnini,

-- @Seam Seam,

-- @Raw Raw,

-- @Shell Shell,

-- @Assembly [Assembly],

-- @Sequence [Sequence],

-- @Chassis Chassis,

-- @Motoman Motoman,

-- @Engraver Engraver,

-- @TankType TankType,

-- @Title Title,

-- @EXP [EXP]


DECLARE @FileName VARCHAR(MAX),

@FileText VARCHAR(MAX)


SET @FileName = CONCAT('\\DYNMCKMVPP1801\Bartender\Fuel_Tank\', @Chassis,'-',@Sequence,'-',@Assembly,'.ztt')

-- IR749285 - Printer machine is changed from DYNMCKZ015 to DYNMCKZ017

SET @FileText = CONCAT('%BTW% /AF=C:\Labels\AllTanks_DEV.btw /D=%Trigger File Name% /PRN="\\DYNMCKMVPP1801\DYNMCKZ017" /C=1 /R=003 /P',CHAR(13),CHAR(10),'%END%',CHAR(13),CHAR(10),---z017 is fuel by Mo

--SET @FileText = CONCAT('%BTW% /AF=C:\Labels\AllTanks.btw /D=%Trigger File Name% /PRN="\\DYNMCKMVPP1801\DYNMCKZ015" /C=1 /R=003 /P',CHAR(13),CHAR(10),'%END%',CHAR(13),CHAR(10),---z015 is fuel by Mo

--SET @FileText = CONCAT('%BTW% /AF=C:\Labels\AllTanks.btw /D=%Trigger File Name% /PRN="\\DYNMCKMVPP1801\DYNMCKZ023" /C=1 /R=003 /P',CHAR(13),CHAR(10),'%END%',CHAR(13),CHAR(10),---z023 is fab, far corner

@Salvagnini,'|',@Seam,'|',@LongSeam,'|',@Raw,'|',@Shell,'|',@Assembly,'|',@Sequence,'|',@Chassis,'|',@Motoman,'|',@Engraver,'|',@Title,'|',@EXP)


--SELECT @filename [filename], @filetext filetext

------------------------------------------------

EXEC dbo.WriteToFile @FileName, @FileText;

------------------------------------------------


IF @TankType IN('1','2')

BEGIN

--SELECT @SalvagniniL2 SalvagniniL2,

-- @SeamL2 SeamL2,

-- @RawL2 RawL2,

-- @ShellL2 ShellL2,

-- @Assembly [Assembly],

-- @Sequence [Sequence],

-- @Chassis Chassis,

-- @MotomanL2 MotomanL2,

-- @EngraverL2 EngraverL2,

-- @TankType TankType,

-- @TitleL2 TitleL2,

-- @EXP [EXP]


SET @FileName = CONCAT('\\DYNMCKMVPP1801\Bartender\Fuel_Tank\', @Chassis,'-',@Sequence,'-',@Assembly,'-L2.ztt')

SET @FileText = CONCAT('%BTW% /AF=C:\Labels\AllTanks_DEV.btw /D=%Trigger File Name% /PRN="\\DYNMCKMVPP1801\DYNMCKZ017" /C=1 /R=003 /P',CHAR(13),CHAR(10),'%END%',CHAR(13),CHAR(10),---z017 is by brandon, 15 is the one by fuel...

--SET @FileText = CONCAT('%BTW% /AF=C:\Labels\AllTanks.btw /D=%Trigger File Name% /PRN="\\DYNMCKMVPP1801\DYNMCKZ015" /C=1 /R=003 /P',CHAR(13),CHAR(10),'%END%',CHAR(13),CHAR(10),---z022 is by brandon, 15 is the one by fuel...

--SET @FileText = CONCAT('%BTW% /AF=C:\Labels\AllTanks.btw /D=%Trigger File Name% /PRN="\\DYNMCKMVPP1801\DYNMCKZ023" /C=1 /R=003 /P',CHAR(13),CHAR(10),'%END%',CHAR(13),CHAR(10),---z023 is fab, far corner

@SalvagniniL2,'|',@SeamL2,'|','|',@LongSeam,'|',@RawL2,'|',@ShellL2,'|',@Assembly,'|',@Sequence,'|',@Chassis,'|',@MotomanL2,'|',@EngraverL2,'|',@TitleL2,'|',@EXP)


--SELECT @filename [filename], @filetext filetext

------------------------------------------------

EXEC dbo.WriteToFile @FileName, @FileText;

------------------------------------------------

END 


        UPDATE dbo.DynaSequencerFuelTank

        SET IsLabelPrinted = 1,

PrintDate = GETDATE()

        WHERE DynaSequencerFuelTankID = @id;


        SET @result = 1;


    END;

    ELSE

    BEGIN

        SET @result = 0;

    END;


    --SELECT @result;

    RETURN @result;

END;


Wednesday, February 28, 2024

UML /uml

 UML /uml

The Unified Modeling Language (UML) is a graphical language for Object-Oriented Analysis and Design(OOAD) that gives a standard way to write a software system's blueprint. It helps to visualize, specify, construct, and document the artifacts of an object-oriented system

The UML uses mostly graphical notations to express the design of software projects. Using the UML helps project teams communicate, explore potential designs, and validate the architectural design of the software.

UML diagrams are used in software development and systems analysis to visually represent different aspects of a system or software application. UML diagrams provide a standardized way to communicate and document the structure, behavior, and interactions of the system.

There are several types of UML diagrams, each serving a specific purpose: 1. Use Case Diagram: Used to capture the interactions between users (actors) and the system. It visually represents the functional requirements of the system. 2. Class Diagram: Represents the structure of the system by showing the classes, their attributes, relationships, and methods. It helps in understanding the static structure of the system. 3. Sequence Diagram: Illustrates the interactions between objects or components in a chronological order. It shows the flow of messages between the objects and helps in understanding the dynamic behavior of the system. 4. Activity Diagram: Represents the flow of activities or processes within a system. It is useful for modeling business processes, workflow, or the behavior of a single use case. 5. State Machine Diagram: Demonstrates the different states and transitions of an object or system. It helps in modeling the behavior of an object or system that changes its state in response to events. 6. Component Diagram: Illustrates the physical components or modules of a system and their dependencies. It helps in understanding the software architecture and system structure. 7. Deployment Diagram: Represents the physical deployment of software components on hardware nodes. It shows how the software is distributed across different hardware devices. UML diagrams serve as visual communication tools that aid in understanding, designing, and documenting complex systems. They help in capturing requirements, designing solutions, and communicating ideas among stakeholders in a clear and concise manner.

Monday, February 12, 2024

Blazor










https://blazorhelpwebsite.com/ViewBlogPost/56

In this code snippet, `@onclick` is an attribute used in frameworks like Blazor or Razor Pages to define an event handler for the `onclick` event. The `()=>OnSearch()` part is a lambda expression that defines an anonymous function. In this case, it is used to call the `OnSearch()` method when the `onclick` event is triggered.


Thursday, December 28, 2023

Dyncraft MVC



**ADO User Story Refinement** refers to the process of reviewing, clarifying, and improving user stories within an Agile development framework, particularly in environments that use Azure DevOps (ADO) or similar tools. The goal of refinement is to ensure that user stories are well-defined, understood by the team, and ready for implementation in upcoming sprints or iterations.

EWI : Electronic Work Instruction

BOM: Build of Material

NCP:Non Conformance Part

TBD: To be Determind 

AddTechnology.cshtml

In Agile methodologies, a "retro" (short for retrospective) is a meeting held at the end of a sprint or project phase where team members reflect on what went well, what didn't, and how processes can be improved for future iterations.

Technology.cshtml




ManageTechnology.cshtml

    [Authorize(Roles = "SG-DYNLOU-UAM-DEV-Hose21mFittingVolume-Edit")]

EWI_ADMIN >_Navigation.js(Controllers\API\App_NavController.cs)
 //Uri uri = new Uri(HttpContext.Current.Request.Url.AbsoluteUri);
 Uri uri = new Uri("https://dynlou.na.paccar.com/EWI/DashBoard/DashBoard");
 string host = uri.Scheme + Uri.SchemeDelimiter + uri.Host + ":" + uri.Port;
 string host2 = "http://" + HttpContext.Current.Request.Url.Authority;
// string host3 = uri.Scheme + Uri.SchemeDelimiter + HttpContext.Current.Request.Url.Authority;

EWI_ADMIN >_Navigation.js(\Scripts\PageScripts\_Navigation.js)

  let url = location.href;
  let prefix = url.includes('/EWI/') ? '/EWI' : '';

  var appuri = prefix + '/Controllers/API/App_Nav/AppNav'
  var reporturi = prefix + '/Controllers/API/App_Nav/ReportNav'
  var opsuri = prefix + '/Controllers/API/App_Nav/OpsNav'
  var produri = prefix + '/Controllers/API/App_Nav/ProdNav'
  var areasetupuri = prefix + '/Controllers/API/App_Nav/AreaSetupNav'




  [HttpPost] //SG-DYNLOU-EWI-Admins
  //[Authorize(Roles = "Administrator, PowerUser")]
  [Authorize(Roles = "SG-DYNLOU-UAM-DEV-EWI_Assembly-ADMIN-MasterAssemblies-Edit")]
  //[Authorize(Roles = "SG-DYNLOU-EWI-Admins")]


--------------
 [OutputCache(Duration = 0)]
// [Authorize(Roles = "SG-DYNLOU-UAM-DEV-EWI_Assembly-ADMIN-MasterAssemblies-Edit")]
 [Authorize(Roles = "SG-DYNLOU-EWI-Admins")]
Read Active User AD:
WindowsIdentity identity = WindowsIdentity.GetCurrent();
string username = identity.Name; // This will give you the domain and username (e.g., DOMAIN\username)

Console.WriteLine($"Current User: {username}");

// Optional: If you want just the username without the domain
string[] parts = username.Split('\\');
string samAccountName = parts.Length > 1 ? parts[1] : username;







Sunday, November 19, 2023

Dyncraft


Souce Code 

VS Continue without code

select the project 

get letest version(icon click)

https://www.c-sharpcorner.com/article/different-types-of-action-results-in-asp-net-mvc/

------------------------

Task 1235023 SER 1177947: Remediate Investigate path forward and refine stories. (azure.com)

https://stackoverflow.com/questions/3708348/the-execute-permission-was-denied-on-the-object-xxxxxxx-database-zzzzzzz-s

SELECT CURRENT_USER; 

PACCAR-NA\Mohammad.Chowdhury

InnerException {"The EXECUTE permission was denied on the object 'Hose21mGetStations_SELECT', database 'DataApps', schema 'dbo'."}

System.Exception {System.Data.SqlClient.SqlException}


USE zzzzzzz;
GRANT EXEC ON dbo.xxxxxxx TO PUBLIC

------------------------


C:\Application Support All\feature-AppSupportWeb-PlatformVersionFilter\AppSupportWeb\Views\AppSupport\Application.cshtml

 <h3 id="modelName">@Model.Name</h3>

 <td>@Html.TextAreaFor(x => x.Note, new { @onkeyup = "LiveChange()", @rows = 2, @cols = 50, @class = "form-control" })</td>

C:\Application Support All\bug-AppSupportWeb-ApplicationNameNotSavedInCert\AppSupportWeb\wwwroot\js\site.js
function LiveChange() {
    
    $('#modelName').html($('#Note').val());
}
Load Project/ Delete files from IISExpress / EWI Assembly
C:\Users\mohammad.chowdhury\Documents\IISExpress\config

Insert Data
="('"&A1&"',"&B1&",'"&C1&"'),"





BOM বা Bill of Materials বাংলায় হলো:

উপাদান তালিকা বা উপাদান বিবরণী

এটি একটি ডকুমেন্ট বা তালিকা যা কোনও পণ্য তৈরি করতে ব্যবহৃত সব উপকরণ, অংশ, উপাদান এবং সাব-অ্যাসেম্বলি (অংশবিশেষ) এর নাম, পরিমাণ এবং অন্যান্য বিবরণ অন্তর্ভুক্ত করে। এটি পণ্য তৈরির জন্য প্রয়োজনীয় সবকিছু বিস্তারিতভাবে উল্লেখ করে।

সহজভাবে বলতে গেলে, BOM হলো একটি পূর্ণাঙ্গ তালিকা যা বলে দেয় কোন পণ্য তৈরি করতে কি কি কি উপাদান দরকার এবং সেগুলোর পরিমাণ কত




In SAP ECC, a manufacturing BOM (Bill of Materials) lists all the components and quantities needed to produce a finished product or assembly, and it's crucial for production planning and procurement. 

In SAP ECC, an Engineering Bill of Materials (eBOM) is a structured list of components and materials needed to build a product, primarily from an engineering perspective. It focuses on the technical details and design aspects of the product, rather than production or manufacturing processes. The eBOM is typically developed during the product design phase, often using CAD or EDA tools. 



Truck Chassis BOM originates from the truck plant.  It will say they want a truck that has generic callouts of items to go on the truck. 
VOG - (View Only Graphics) Tool used by the shop floor to view engineering drawings.
Dynacraft BOM - Similar to the Truck Chassis BOM with the specific part numbers and subassemblies that Dynacraft will sell the truck plant
AspectTruck Chassis BOMVOG (View Only Graphics) ToolDynacraft BOM
OriginOriginates from the truck plant.Used on the shop floor as a viewing tool.Created by Dynacraft to specify exact parts to sell to the truck plant.
PurposeDefines a truck with generic callouts of items to be included on the truck.Allows shop floor personnel to view engineering drawings for reference.Lists specific part numbers and subassemblies Dynacraft will supply to the truck plant.
ContentGeneric item descriptions and callouts without detailed part numbers.Engineering drawings and graphics in a read-only format.Detailed BOM with exact part numbers and subassemblies tailored for Dynacraft’s products.
UsersTruck plant engineering and planning teams.Shop floor operators, assemblers, technicians.Dynacraft’s manufacturing, sales, and supply chain teams, as well as the truck plant receiving Dynacraft parts.
FunctionalityProvides a high-level specification of truck requirements.Provides visual reference to assist assembly and quality checks.Provides detailed instructions for ordering, manufacturing, and supplying parts and assemblies.
ModificationMay be more conceptual and subject to updates from truck plant.View-only; no editing capability.Detailed and controlled document updated as per Dynacraft’s product changes.
Example“Include suspension system,” “Add frame rails,” without specific part numbers.Viewing CAD drawings showing how parts fit together on the chassis.Specific part numbers for suspension components, fasteners, and subassemblies sold by Dynacraft.

Summary

  • Truck Chassis BOM: A generic, high-level list from the truck plant defining what items should be on the truck, often without detailed part numbers.
  • VOG Tool: A shop floor visualization tool used to view engineering drawings for assembly guidance, with no part listing or editing abilities.
  • Dynacraft BOM: A detailed and specific BOM from Dynacraft containing exact part numbers and subassemblies that Dynacraft supplies to the truck plant.

This distinction helps ensure clear communication between the truck plant and Dynacraft, with the VOG tool supporting the shop floor during assembly


Ben 

  • Truck Chassis BOM originates from the truck plant.  It will say they want a truck that has generic callouts of items to go on the truck. 
  • VOG - (View Only Graphics) Tool used by the shop floor to view engineering drawings.
  • Dynacraft BOM - Similar to the Truck Chassis BOM with the specific part numbers and subassemblies that Dynacraft will sell the truck plant

--------------------------------------------------------------------------


  • Below are Excel template samples and a detailed SOP document draft you can use and customize for your teams.


    1. Excel Template Samples

    A. Truck Chassis BOM Template

    Item NoDescriptionGeneric CalloutQuantityRemarks
    001Frame RailStructural Frame Part2Standard frame rails
    002Suspension SystemLeaf Springs4Generic suspension
    003Brake SystemAir Brake Assembly1Callout only, no part#
    004Steering ComponentsTie Rods, Knuckles2Basic steering parts

    B. Dynacraft BOM Template

    Item NoPart NumberDescriptionQuantitySupplierSubassemblyRemarks
    001DC-1001Frame Rail - Dynacraft2DynacraftChassisMatches Truck Chassis BOM
    002DC-2005Leaf Spring Assembly4DynacraftSuspensionComplete assembly
    003DC-3003Air Brake Assembly1DynacraftBrakesSpecific to Dynacraft product
    004DC-4007Steering Knuckle2DynacraftSteeringCustom part

    C. Change Log Template

    Change IDDateDescriptionAffected Document(s)InitiatorApproval StatusRemarks
    CHG-0012024-06-01Updated Leaf Spring part numberDynacraft BOM, VOG DrawingsEngineeringApprovedImplemented 2024-06-05
    CHG-0022024-06-10Added new suspension subassemblyTruck Chassis BOMTruck PlantPendingUnder review

    2. SOP Draft: Using VOG Tool & Managing BOMs


    Title: Standard Operating Procedure for Managing Truck Chassis BOM, Dynacraft BOM, and Using VOG Tool

    Purpose:
    To establish a clear process for managing BOMs and effectively using the VOG tool on the shop floor for assembly accuracy.

    Scope:
    This procedure applies to engineering, manufacturing, procurement, and shop floor personnel involved in truck chassis assembly projects.


    Procedure:

    Step 1: Truck Chassis BOM Preparation

    • Truck Plant Engineering creates the Truck Chassis BOM with generic callouts.
    • This BOM is shared with Dynacraft for detailed part specification.

    Step 2: Dynacraft BOM Development

    • Dynacraft Engineering develops a detailed BOM with specific part numbers and subassemblies.
    • Dynacraft BOM is reviewed and shared with the truck plant procurement and manufacturing teams.

    Step 3: Shop Floor Usage of VOG Tool

    • Shop floor personnel log into the VOG tool daily.
    • Select relevant vehicle model or assembly line drawings.
    • Use the tool to view exploded views, assembly instructions, and part fitment during production.
    • Report discrepancies immediately to engineering or quality teams.

    Step 4: Change Management

    • Any changes initiated by truck plant or Dynacraft are documented and communicated.
    • Update Truck Chassis BOM, Dynacraft BOM, and VOG drawings accordingly.
    • Communicate updates to all relevant parties promptly.
    • Log all changes in the Change Log document.

    Responsibilities:

    RoleResponsibility
    Truck Plant EngineeringCreate and update Truck Chassis BOM
    Dynacraft EngineeringDevelop and maintain Dynacraft BOM
    Shop Floor OperatorsUse VOG tool for assembly guidance
    Quality TeamVerify assembly accuracy and report issues
    Change Control TeamManage and communicate BOM and drawing changes

    Revision History

    RevisionDateDescriptionAuthor
    1.02024-06-15Initial SOP ReleaseYour Name

    Next Steps

    • Customize these templates with your actual parts and data.
    • Distribute SOP to all relevant teams and conduct training sessions.
    • Set up regular review meetings to monitor BOM accuracy and VOG tool usage.
 






 




Important

 https://www.youtube.com/watch?v=NWLyoCYEe0A